-------------------------------------------------------
      name:  rep
       log:  /Users/souleymane.yameogo/Library/CloudSto
> rage/Dropbox/WP3_OnlineCivics/Conflict project/Analys
> is/Video_Analysis/Replication data - PSRM/output/repl
> ication_analysis.log
  log type:  text
 opened on:   3 Dec 2025, 14:22:37
r; t=0.02 14:22:37

. 
. *----------------------------------------------------
> ----------
. * Dependencies (install only if missing)
. *----------------------------------------------------
> ----------
. cap which outreg2
r; t=0.04 14:22:37

. if _rc ssc install outreg2, replace
r; t=0.00 14:22:37

. cap which coefplot
r; t=0.01 14:22:37

. if _rc ssc install coefplot, replace
r; t=0.00 14:22:37

. cap which estout
r; t=0.01 14:22:37

. if _rc ssc install estout, replace
r; t=0.00 14:22:37

. cap which medeff
r; t=0.01 14:22:37

. if _rc ssc install medeff, replace
r; t=0.00 14:22:37

. 
. *----------------------------------------------------
> ----------
. * Data
. * Note: `finaldata.dta` excludes geolocation for data
>  protection.
. *----------------------------------------------------
> ----------
. use "${data}/finaldata.dta", clear
r; t=0.00 14:22:37

. 
. //---------------------------------------------------
> -----------
. // Globals: controls, outcomes, etc.
. //---------------------------------------------------
> -----------
. global controls female age ib1.reli_new ib1.ethnicity
> _new ib4.educ_new vote_intent polint gendemoc_pre
r; t=0.00 14:22:37

. global medcontrols female age reli_new ethnicity_new 
> educ_new vote_intent polint gendemoc_pre
r; t=0.00 14:22:37

. 
. // Unbalanced sets used in robustness
. global cvars female ib4.reli_new ib1.ethnicity_new vo
> te_intent gendemoc_pre
r; t=0.00 14:22:37

. global pcvars female  gendemoc_pre
r; t=0.00 14:22:37

. 
. // Pre-treatment (for balance plots)
. global pretreat female age safe_community polint ib1.
> reli_new ib1.ethnicity_new ib4.educ_new gendemoc_pre 
> terror_exp vote_intent 
r; t=0.00 14:22:37

. 
. // Outcomes
. global outcomes1 gendemoc_post auth_support democ_pol
> icy donation demonstrat_democracy terrorism_regime 
r; t=0.00 14:22:37

. global outcomes2 priority_cohesion priority_job prior
> ity_weapon post_security
r; t=0.00 14:22:37

. global outc_video video_info video_vicarious video_so
> cial
r; t=0.00 14:22:37

. global autho authoritarianism_*
r; t=0.00 14:22:37

. 
. * Standardizing outcomes (min 0 and max 1)
. 
. foreach v of varlist $outcomes1 $outcomes2 $outc_vide
> o $autho {
  2.     qui summ `v'
  3.     gen z`v' = (`v' - r(min)) / (r(max) - r(min))
  4. }
(2,530 missing values generated)
(2,624 missing values generated)
(2,591 missing values generated)
(2,653 missing values generated)
(2,610 missing values generated)
(2,795 missing values generated)
(2,965 missing values generated)
(2,991 missing values generated)
(3,001 missing values generated)
(2,483 missing values generated)
(2,428 missing values generated)
(2,436 missing values generated)
(2,431 missing values generated)
(2,754 missing values generated)
(2,698 missing values generated)
(2,762 missing values generated)
(2,790 missing values generated)
r; t=0.01 14:22:37

. 
. 
. // Standardised Outcomes
. global zoutcome1 zterrorism_regime zgendemoc_post zau
> th_support zdemoc_policy zdonation zdemonstrat_democr
> acy 
r; t=0.00 14:22:37

. global zoutcome2 zpriority_cohesion zpriority_job zpr
> iority_weapon zpost_security
r; t=0.00 14:22:37

. global zoutc_video zvideo_info zvideo_vicarious zvide
> o_social
r; t=0.00 14:22:37

. global zautho zauthoritarianism_*
r; t=0.00 14:22:37

. 
. * Treatments for balance test
. global treatments rights Bftreat gentreat alltreat
r; t=0.00 14:22:37

. 
. //---------------------------------------------------
> -----------
. // TABLE 1 — Descriptive table: main outcomes
. //---------------------------------------------------
> -----------
. * ensure estout
. cap which esttab
r; t=0.00 14:22:37

. if _rc ssc install estout, replace
r; t=0.00 14:22:37

. 
. * labels (if needed)
. label var zterrorism_regime        "Democratic advant
> age"
r; t=0.00 14:22:37

. label var zgendemoc_post           "Democratic prefer
> ence"
r; t=0.00 14:22:37

. label var zauth_support            "Rejection of auth
> oritarian alternatives"
r; t=0.00 14:22:37

. label var zdemoc_policy            "Vote for democrat
> ic candidate"
r; t=0.00 14:22:37

. label var zdonation                "Donation to Pro-d
> emocratic NGO"
r; t=0.00 14:22:37

. label var zdemonstrat_democracy    "Pro-democratic pr
> otest"
r; t=0.00 14:22:37

. 
. * summaries
. estimates clear
r; t=0.04 14:22:37

. qui estpost summarize ///
>     zterrorism_regime zgendemoc_post zauth_support zd
> emoc_policy zdonation zdemonstrat_democracy, detail
r; t=0.06 14:22:37

. 
. * Wider line to avoid wrapping in Results
. set linesize 120
r; t=0.00 14:22:37

. 
. * Pretty Results-window table (no LaTeX)
. esttab, nomtitles nonumber noobs label ///
>     cells("count(fmt(%9.0gc)) mean(fmt(3)) sd(fmt(3)) min(fmt(3)) max(fmt(3))") ///
>     collabels("Obs" "Mean" "Std." "Min" "Max") ///
>     alignment(c) varwidth(32) compress

----------------------------------------------------------------------------------
                                       Obs      Mean      Std.       Min       Max
----------------------------------------------------------------------------------
Democratic advantage                 1,743     0.609     0.338     0.000     1.000
Democratic preference                2,008     0.748     0.298     0.000     1.000
Rejection of authoritarian alter     1,914     0.466     0.285     0.000     1.000
Vote for democratic candidate        1,947     0.336     0.378     0.000     1.000
Donation to Pro-democratic NGO       1,885     0.340     0.264     0.000     1.000
Pro-democratic protest               1,928     0.586     0.340     0.000     1.000
----------------------------------------------------------------------------------
r; t=0.05 14:22:37

. 
.         * ---------------- SAVE AS CSV (output/tables) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:22:37

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:22:37
r; t=0.00 14:22:37

. 
. esttab using "`tdir'Table1_descriptives_main_outcomes.csv", replace ///
>     nomtitles nonumber noobs label ///
>     cells("count(fmt(%9.0gc)) mean(fmt(3)) sd(fmt(3)) min(fmt(3)) max(fmt(3))") ///
>     collabels("Obs" "Mean" "Std." "Min" "Max") ///
>     alignment(c) varwidth(32) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/Table1_descriptives_main_outcomes.csv)
r; t=0.06 14:22:37

. 
.         
. //--------------------------------------------------------------
. // TABLE 2 — Main pooled treatment (All vs Placebo)
. //--------------------------------------------------------------
. capture erase "${table}/pooled.xls"
r; t=0.00 14:22:37

. capture erase "${table}/pooled.rtf"
r; t=0.00 14:22:37

. estimates clear
r; t=0.00 14:22:37

. cap which esttab
r; t=0.00 14:22:37

. if _rc ssc install estout, replace
r; t=0.00 14:22:37

. 
. local models
r; t=0.00 14:22:37

. 
. foreach k of varlist $zoutcome1 {
  2.     // Run model
.    qui reg `k' i.alltreat $controls 
  3. 
.     // Control-group summary stats
.     quietly summ `k' if alltreat==0
  4.     local m   = r(mean)
  5.     local min = r(min)
  6.     local max = r(max)
  7. 
.     // Short titles for Results window
.     local short_title ""
  8.     if "`k'" == "zterrorism_regime"         local short_title "Dem. adv."
  9.     if "`k'" == "zgendemoc_post"            local short_title "Dem. pref."
 10.     if "`k'" == "zauth_support"             local short_title "Reject auth."
 11.     if "`k'" == "zdemoc_policy"             local short_title "Vote dem. cand."
 12.     if "`k'" == "zdonation"                 local short_title "Donate NGO"
 13.     if "`k'" == "zdemonstrat_democracy"     local short_title "Attend protest"
 14. 
.     // Add footer stats
.      qui estadd scalar cmean = `m'
 15.      qui estadd scalar cmin  = `min'
 16.      qui estadd scalar cmax  = `max'
 17.      qui estadd local  pretreat "Yes"
 18. 
.     eststo, title("`short_title'")
 19.     local models `"`models' `e(name)'"'
 20. }
(est1 stored)
(est2 stored)
(est3 stored)
(est4 stored)
(est5 stored)
(est6 stored)
r; t=0.17 14:22:37

. 
. * --------- PRINT TO RESULTS WINDOW (compressed to fit) ----------
. esttab `models', ///
>     keep(1.alltreat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) label nonotes noobs nobaselevels ///
>     coeflabels(1.alltreat "Pooled treatment") ///
>     mtitle ///
>     stats(N r2 pretreat cmean cmin cmax, ///
>           fmt(0 3 0 3 3) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean" "Min" "Max")) ///
>     compress

------------------------------------------------------------------------------------------------------------------------
> ----
                              (1)               (2)               (3)               (4)               (5)               
> (6) 
                        Dem. adv.        Dem. pref.      Reject auth.   Vote dem. cand.        Donate NGO    Attend prot
> est 
------------------------------------------------------------------------------------------------------------------------
> ----
Pooled treatment            0.049*            0.033*            0.037*            0.035             0.016             0.
> 021 
                    [0.019,0.079]     [0.011,0.055]     [0.011,0.064]    [-0.006,0.075]    [-0.011,0.042]    [-0.010,0.0
> 52] 
------------------------------------------------------------------------------------------------------------------------
> ----
Observations                 1575              1800              1723              1743              1696              1
> 733 
R^2                         0.390             0.511             0.268             0.039             0.105             0.
> 293 
Pre-treatment                 Yes               Yes               Yes               Yes               Yes               
> Yes 
Control Mean                0.564             0.715             0.436             0.312             0.327             0.
> 558 
Min                         0.000             0.000             0.000             0.000             0.000             0.
> 000 
Max                         1.000             1.000             1.000             1.000             1.000             1.
> 000 
------------------------------------------------------------------------------------------------------------------------
> ----
r; t=0.07 14:22:37

. 
. * --------- CSV (portable) ----------
. esttab `models' using "`tdir'pooled_treatment.csv", replace ///
>     keep(1.alltreat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) label nonotes noobs nobaselevels ///
>     coeflabels(1.alltreat "Pooled treatment") ///
>     mtitle ///
>     stats(N r2 pretreat cmean cmin cmax, ///
>           fmt(0 3 0 3 3) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean" "Min" "Max")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/pooled_treatment.csv)
r; t=0.06 14:22:37

. 
. *-----------------------------------------------------------------------------------
. * TABLE 3 — By treatment arm (1=Civic rights, 2=General, 3=Burkina). Base=0 Placebo
. * Prints to Results window (replicable via log)
. *-----------------------------------------------------------------------------------
. capture erase "${table}/cate_treat.xls"
r; t=0.00 14:22:37

. capture erase "${table}/cate_treat.rtf"
r; t=0.00 14:22:37

. estimates clear
r; t=0.02 14:22:37

. 
. cap which esttab
r; t=0.00 14:22:37

. if _rc ssc install estout, replace
r; t=0.00 14:22:37

. 
. local models
r; t=0.00 14:22:37

. 
. foreach k of varlist $zoutcome1 {
  2. 
.     *-----------------------
.     * Run model (baseline=0)
.     *-----------------------
.   qui  reg `k' ib0.treat $controls 
  3. 
.     *------------------------------------------
.     * Control-group stats on estimation sample
.     *------------------------------------------
.     quietly summarize `k' if e(sample) & treat==0
  4.     local m = r(mean)
  5. 
.     *-------------------------
.     * Short column titles (fit)
.     *-------------------------
.     local short_title ""
  6.     if "`k'" == "zterrorism_regime"         local short_title "Dem. adv."
  7.     if "`k'" == "zgendemoc_post"            local short_title "Dem. pref."
  8.     if "`k'" == "zauth_support"             local short_title "Reject auth."
  9.     if "`k'" == "zdemoc_policy"             local short_title "Vote dem. cand."
 10.     if "`k'" == "zdonation"                 local short_title "Donate NGO"
 11.     if "`k'" == "zdemonstrat_democracy"     local short_title "Attend protest"
 12. 
.     *---------------------
.     * Hypothesis tests
.     *---------------------
.     * H1: T1 = T2 + T3  (Civic rights vs terrorism (T2+T3))
.      qui test _b[1.treat] = _b[2.treat] + _b[3.treat]
 13.     local pval  = r(p)
 14. 
.     * H2: T2 = T3  (General vs Burkina Faso)
.      qui test _b[2.treat] = _b[3.treat]
 15.     local pval1 = r(p)
 16. 
.     *----------------------------------------
.     * Add scalars for footer (to esttab stats)
.     *----------------------------------------
.      qui estadd scalar cmean = `m'
 17.      qui estadd scalar p_civic_23 = `pval'
 18.      qui estadd scalar p_2v3      = `pval1'
 19.      qui estadd local  pretreat "Yes"
 20. 
.     eststo, title("`short_title'")
 21.     local models `"`models' `e(name)'"'
 22. }
(est1 stored)
(est2 stored)
(est3 stored)
(est4 stored)
(est5 stored)
(est6 stored)
r; t=0.06 14:22:37

. 
. *-------------------------------
. * PRINT to Results window
. *-------------------------------
. esttab `models', ///
>     keep(1.treat 2.treat 3.treat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.treat "T1: Civic rights" ///
>                2.treat "T2: General" ///
>                3.treat "T3: Burkina Faso") ///
>     mtitle ///
>     stats(N r2 pretreat cmean p_civic_23 p_2v3, ///
>           fmt(0 3 0 3 4 4) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean" ///
>                  "T1 vs (T2+T3) (p-val.)" "T2 vs T3 (p-val.)")) ///
>     compress

------------------------------------------------------------------------------------------------------------------------
> ----
                              (1)               (2)               (3)               (4)               (5)               
> (6) 
                        Dem. adv.        Dem. pref.      Reject auth.   Vote dem. cand.        Donate NGO    Attend prot
> est 
------------------------------------------------------------------------------------------------------------------------
> ----
T1: Civic rights            0.024             0.048*            0.040*            0.027             0.021             0.
> 020 
                   [-0.012,0.061]     [0.021,0.075]     [0.007,0.072]    [-0.023,0.076]    [-0.011,0.054]    [-0.018,0.0
> 57] 

T2: General                 0.087*            0.035*            0.047*            0.052*            0.009             0.
> 047*
                    [0.051,0.124]     [0.008,0.062]     [0.014,0.080]     [0.002,0.102]    [-0.024,0.042]     [0.009,0.0
> 85] 

T3: Burkina Faso            0.037*            0.015             0.025             0.025             0.016            -0.
> 005 
                    [0.000,0.074]    [-0.012,0.043]    [-0.008,0.059]    [-0.025,0.075]    [-0.018,0.049]    [-0.044,0.0
> 33] 
------------------------------------------------------------------------------------------------------------------------
> ----
Observations                 1575              1800              1723              1743              1696              1
> 733 
R^2                         0.395             0.513             0.268             0.040             0.105             0.
> 296 
Pre-treatment                 Yes               Yes               Yes               Yes               Yes               
> Yes 
Control Mean                0.559             0.711             0.444             0.313             0.317             0.
> 556 
T1 vs (T2..)               0.0002            0.8814            0.1712            0.1667            0.8778            0.4
> 172 
T2 vs T3 ..)               0.0079            0.1560            0.2094            0.2940            0.7045            0.0
> 080 
------------------------------------------------------------------------------------------------------------------------
> ----
r; t=0.09 14:22:38

. 
. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:22:38

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:22:38
r; t=0.00 14:22:38

. 
. esttab `models' using "`tdir'Table3_by_treatment_arm.csv", replace ///
>     keep(1.treat 2.treat 3.treat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.treat "T1: Civic rights" ///
>                2.treat "T2: General" ///
>                3.treat "T3: Burkina Faso") ///
>     mtitle ///
>     stats(N r2 pretreat cmean p_civic_23 p_2v3, ///
>           fmt(0 3 0 3 4 4) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean" ///
>                  "T1 vs (T2+T3) (p-val.)" "T2 vs T3 (p-val.)")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/Table3_by_treatment_arm.csv)
r; t=0.07 14:22:38

. 
. //--------------------------------------------------------------
. // TABLE 4 - Post-video manipulation (T2/T3 vs T1 reference)
. //--------------------------------------------------------------
. capture confirm var treat
r; t=0.00 14:22:38

. if _rc==0 {
.     cap drop treat_video
r; t=0.00 14:22:38
.     recode treat (0=.) (1=0 "rights") (2=1 "general") (3=2 "burkina"), gen(treat_video)
(2,821 differences between treat and treat_video)
r; t=0.01 14:22:38
.     label var treat_video "Treatment (ref = rights)"
r; t=0.00 14:22:38
. }
r; t=0.01 14:22:38

. fre treat_video

treat_video -- Treatment (ref = rights)
---------------------------------------------------------------
                  |      Freq.    Percent      Valid       Cum.
------------------+--------------------------------------------
Valid   0 rights  |        704      15.51      33.30      33.30
        1 general |        706      15.56      33.40      66.70
        2 burkina |        704      15.51      33.30     100.00
        Total     |       2114      46.58     100.00           
Missing .         |       2424      53.42                      
Total             |       4538     100.00                      
---------------------------------------------------------------
r; t=0.03 14:22:38

. 
. capture erase "${table}/outc_screen.tex"
r; t=0.00 14:22:38

. capture erase "${table}/outc_screen.csv"
r; t=0.00 14:22:38

. estimates clear
r; t=0.00 14:22:38

. 
. cap which esttab
r; t=0.00 14:22:38

. if _rc ssc install estout, replace
r; t=0.00 14:22:38

. 
. local models
r; t=0.00 14:22:38

. 
. foreach k of varlist $zoutc_video {
  2. 
.     * Run model with factor vars; base (0) = rights
.  qui   reg `k' ib0.treat_video $controls 
  3. 
.     * Control-group mean on estimation sample only
.     quietly summarize `k' if e(sample) & treat_video==0
  4.     local m = r(mean)
  5. 
.     * Short, console-friendly column titles
.     local short_title "`k'"
  6.     if inlist("`k'","video_info","zvideo_info")              local short_title "Video info"
  7.     if inlist("`k'","country_vision","zcountry_vision")      local short_title "Country vision"
  8.     if inlist("`k'","video_share","zvideo_share","share_vid") local short_title "Video sharing"
  9. 
.     * Equality test: General vs Burkina Faso
.     qui test _b[1.treat_video] = _b[2.treat_video]
 10.     local pval = r(p)
 11. 
.     * Footer stats for esttab
.     qui estadd scalar cmean = `m'
 12.     qui estadd scalar p_g_vs_bf = `pval'
 13.     qui estadd local  pretreat "Yes"
 14. 
.     eststo, title("`short_title'")
 15.     local models `"`models' `e(name)'"'
 16. }
(est1 stored)
(est2 stored)
(est3 stored)
r; t=0.02 14:22:38

. 
. * --------- PRINT to Results window (fits width) ----------
. esttab `models', ///
>     keep(1.treat_video 2.treat_video) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.treat_video "T2: General terrorism" ///
>                2.treat_video "T3: Burkina Faso") ///
>     mtitle ///
>     stats(N r2 pretreat cmean p_g_vs_bf, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean" "General vs Burkina (p-val.)")) ///
>     compress

----------------------------------------------------------------------
                              (1)               (2)               (3) 
                   zvideo_infos_1  zvideo_vicarious     zvideo_social 
----------------------------------------------------------------------
T2: General te~m           -0.032*           -0.008            -0.010 
                  [-0.063,-0.001]    [-0.042,0.027]    [-0.044,0.024] 

T3: Burkina Faso           -0.091*           -0.069*           -0.079*
                  [-0.122,-0.061]   [-0.104,-0.035]   [-0.112,-0.045] 
----------------------------------------------------------------------
Observations                 1405              1402              1404 
R^2                         0.255             0.297             0.287 
Pre-treatment                 Yes               Yes               Yes 
Control Mean                0.831             0.685             0.754 
General v..)               0.0002            0.0005            0.0001 
----------------------------------------------------------------------
r; t=0.04 14:22:38

. 
. * ---------------- SAVE AS CSV (output/tables) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:22:38

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:22:38
r; t=0.00 14:22:38

. 
. esttab `models' using "`tdir'Table4_postvideo_manipulation.csv", replace ///
>     keep(1.treat_video 2.treat_video) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.treat_video "T2: General terrorism" ///
>                2.treat_video "T3: Burkina Faso") ///
>     mtitle ///
>     stats(N r2 pretreat cmean p_g_vs_bf, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean" "General vs Burkina (p-val.)")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/Table4_postvideo_manipulation.csv)
r; t=0.05 14:22:38

.         
. *--------------------------------
. * Figure 4 — by lived experience (0/1)
. *--------------------------------
. 
. foreach k of varlist $zoutcome1 {
  2. 
.     * Assign descriptive label for DV
.     local title_label ""
  3.     if "`k'" == "zterrorism_regime"         local title_label "Democratic advantage"
  4.     if "`k'" == "zgendemoc_post"            local title_label "Democratic preference"
  5.     if "`k'" == "zauth_support"             local title_label "Rejection of authoritarianism"
  6.     if "`k'" == "zdemoc_policy"             local title_label "Vote for democratic candidate"
  7.     if "`k'" == "zdonation"                 local title_label "Donate to pro-democratic NGO"
  8.     if "`k'" == "zdemonstrat_democracy"     local title_label "Participation in pro-democratic protest"
  9. 
.     * Binary interaction regression
.   qui  reg `k' i.alltreat##i.terror_exp $controls 
 10. 
.     * Marginal effects by terrorism experience
.    qui  margins, dydx(alltreat) at(terror_exp = (0(1)1)) 
 11. 
.     * Plot
.     qui marginsplot, ///
>         ylabel(-.15(.05).15) ///
>         xlabel(, labsize(medium)) ///
>         yline(0) ///
>         xtitle("Terrorism experience", size(medium)) ///
>         ytitle("Effects of treatments on outcome", size(vsmall)) ///
>         title("DV: `title_label'", size(medium)) ///
>         name(`k', replace) ///
>         recastci(rspike) recast(scatter) scale(.8) legend(off)
 12. }
r; t=10.25 14:22:48

. 
. * Combine and export
. graph combine $zoutcome1
r; t=3.20 14:22:51

. graph save "${graph}/terror_exp.gph", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Video_Analysis/Re
> plication data - PSRM/output/graphs/terror_exp.gph saved
r; t=0.78 14:22:52

. graph export "${graph}/terror_exp.eps", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/terror_exp.eps saved as EPS format
r; t=0.03 14:22:52

. graph export "${graph}/terror_exp.pdf", as(pdf) replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/terror_exp.pdf saved as PDF format
r; t=0.06 14:22:52

. 
. *--------------------------------
. *Figure 5 — by distance (0–200 km)
. *--------------------------------
. 
. foreach k of varlist $zoutcome1 {
  2. 
.     * Assign descriptive label for DV
.     local title_label ""
  3.     if "`k'" == "zterrorism_regime"         local title_label "Democratic advantage"
  4.     if "`k'" == "zgendemoc_post"            local title_label "Democratic preference"
  5.     if "`k'" == "zauth_support"             local title_label "Rejection of authoritarianism"
  6.     if "`k'" == "zdemoc_policy"             local title_label "Vote for democratic candidate"
  7.     if "`k'" == "zdonation"                 local title_label "Donate to pro-democratic NGO"
  8.     if "`k'" == "zdemonstrat_democracy"     local title_label "Participation in pro-democratic protest"
  9. 
.     * Continuous interaction regression
.  qui   reg `k' i.alltreat##c.km_to_id_B $controls 
 10. 
.     * Marginal effects by distance (0 to 200 km)
.     qui margins, dydx(alltreat) at(km_to_id_B = (0(20)200))
 11. 
.     * Plot
.     qui marginsplot, ///
>         ylabel(-.15(.05).15) ///
>         xlabel(, labsize(vsmall)) ///
>         yline(0) ///
>         xtitle("Distance to terrorist attacks (km)", size(medium)) ///
>         ytitle("Effects of treatments on outcome", size(medsmall)) ///
>         title("DV: `title_label'", size(medium)) ///
>         name(`k', replace) ///
>         recastci(rspike) recast(scatter) scale(.8) legend(off)
 12. }
r; t=5.85 14:22:58

. 
. * Combine and export
. graph combine $zoutcome1
r; t=3.06 14:23:01

. graph save "${graph}/distance.gph", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Video_Analysis/Re
> plication data - PSRM/output/graphs/distance.gph saved
r; t=0.75 14:23:02

. graph export "${graph}/distance.eps", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/distance.eps saved as EPS format
r; t=0.03 14:23:02

. graph export "${graph}/distance.pdf", as(pdf) replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/distance.pdf saved as PDF format
r; t=0.06 14:23:02

. 
. 
. //--------------------------------------------------------------
. // APPENDIX TABLES 
. //--------------------------------------------------------------
. 
. // In the main text, appendix tables and figures are numbered by section; in the online appendix, they are numbered co
> nsecutively in Arabic numerals. To aid cross-referencing, I report the main-text label first, followed in brackets by 
> the corresponding online-appendix label: [main label (online appendix label)]
. ***--------------------------------
. * Table E.1 (Table 5) — Attrition vs Assignment (LPM)
. ***--------------------------------
. capture erase "${table}/attrited_screen.tex"
r; t=0.00 14:23:02

. capture erase "${table}/attrited_screen.csv"
r; t=0.00 14:23:02

. estimates clear
r; t=0.01 14:23:02

. 
. cap which esttab
r; t=0.00 14:23:02

. if _rc ssc install estout, replace
r; t=0.00 14:23:02

. 
. * Model (1): No covariates
. qui reg attrition ib0.treat 
r; t=0.00 14:23:02

. eststo, title("No covariates")
(est1 stored)
r; t=0.00 14:23:02

. 
. * Model (2): With covariates
. qui reg attrition ib0.treat $controls 
r; t=0.00 14:23:02

. eststo, title("With covariates")
(est2 stored)
r; t=0.00 14:23:02

. 
. * Print to Results window (replicable via log)
. esttab, ///
>     keep(1.treat 2.treat 3.treat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05 ** 0.01) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.treat "T1: Civic rights" ///
>                2.treat "T2: General terrorism" ///
>                3.treat "T3: Burkina Faso") ///
>     mtitle ///
>     stats(N r2, fmt(0 3) labels("Observations" "R^2")) ///
>     compress

------------------------------------------------------
                              (1)                (2)  
                    No covariates    With covariates  
------------------------------------------------------
T1: Civic rights           -0.015             -0.014  
                   [-0.061,0.032]     [-0.062,0.034]  

T2: General te~m            0.010              0.001  
                   [-0.036,0.056]     [-0.047,0.049]  

T3: Burkina Faso            0.015              0.014  
                   [-0.031,0.061]     [-0.034,0.062]  
------------------------------------------------------
Observations                 2821               2419  
R^2                         0.001              0.020  
------------------------------------------------------
r; t=0.06 14:23:02

. 
. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:23:02

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:23:02
r; t=0.00 14:23:02

. 
. esttab using "`tdir'TableE1_attrition_vs_assignment.csv", replace ///
>     keep(1.treat 2.treat 3.treat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05 ** 0.01) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.treat "T1: Civic rights" ///
>                2.treat "T2: General terrorism" ///
>                3.treat "T3: Burkina Faso") ///
>     mtitle ///
>     stats(N r2, fmt(0 3) labels("Observations" "R^2")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/TableE1_attrition_vs_assignment.csv)
r; t=0.05 14:23:02

. 
. //--------------------------------------------------------------
. //  Figure E1 (Figure 8): Balance plot (coefplot).
. //--------------------------------------------------------------
. estimates clear
r; t=0.00 14:23:02

. foreach y of varlist $treatments {
  2.     quietly reg `y' $pretreat 
  3.     estimates store T0_`y'
  4. }
r; t=0.02 14:23:02

. coefplot T0_rights || T0_Bftreat || T0_gentreat || T0_alltreat, ///
>     drop(_cons) xline(0, lpattern(solid)) byopts(row(1)) levels(99 95) ///
>     bylabels("(A)" "(B)" "(C)" "(D)") nokey ///
>     title("Balance test")
r; t=1.52 14:23:04

. graph save   "${graph}/balance_demo.gph", replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Video_Analysis/Re
> plication data - PSRM/output/graphs/balance_demo.gph saved
r; t=0.44 14:23:04

. graph export "${graph}/balance_demo.eps", replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/balance_demo.eps saved as EPS format
r; t=0.02 14:23:04

. graph export "${graph}/balance_demo.pdf", replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/balance_demo.pdf saved as PDF format
r; t=0.04 14:23:04

. 
. //--------------------------------------------------------------
. // Robustness: full specs, unbalanced covariates, weighted, etc.
. //--------------------------------------------------------------
. **--------------------------------
. * Table F1 (Table 6): Treatment Effects — All Treatment vs Placebo (full results)
. *--------------------------------
. capture erase "${table}/fpooled_screen.tex"
r; t=0.00 14:23:04

. capture erase "${table}/fpooled_screen.csv"
r; t=0.00 14:23:04

. estimates clear
r; t=0.00 14:23:04

. 
. cap which esttab
r; t=0.00 14:23:04

. if _rc ssc install estout, replace
r; t=0.00 14:23:04

. 
. local models
r; t=0.00 14:23:04

. local mlabels
r; t=0.00 14:23:04

. 
. foreach k of varlist $zoutcome1 {
  2. 
.     // Run model (base=0 Placebo); keep constant (standard OLS)
.   qui  reg `k' ib0.alltreat $controls 
  3. 
.     // Control-group mean on estimation sample only
.     quietly summarize `k' if e(sample) & alltreat==0
  4.     local m = r(mean)
  5. 
.     // Short titles that fit the console
.     local short_title ""
  6.     if "`k'" == "zterrorism_regime"         local short_title "Dem. adv."
  7.     if "`k'" == "zgendemoc_post"            local short_title "Dem. pref."
  8.     if "`k'" == "zauth_support"             local short_title "Reject auth."
  9.     if "`k'" == "zdemoc_policy"             local short_title "Vote dem. cand."
 10.     if "`k'" == "zdonation"                 local short_title "Donate NGO"
 11.     if "`k'" == "zdemonstrat_democracy"     local short_title "Attend protest"
 12. 
.     // Footer stats for esttab
. qui    estadd scalar cmean = `m'
 13. qui    estadd local  pretreat "Yes"
 14. 
.     // Store model
.  qui   eststo, title("`short_title'")
 15.     local models `"`models' `e(name)'"'
 16. }
r; t=0.05 14:23:04

. 
. * ---------- PRINT to Results window (full results) ----------
. esttab `models', ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     order(1.alltreat) ///
>     coeflabels(1.alltreat "Pooled treatment") ///
>     mtitle ///
>     stats(N r2 pretreat cmean, ///
>           fmt(0 3 0 3) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean")) ///
>     compress

------------------------------------------------------------------------------------------------------------------------
> ----
                              (1)               (2)               (3)               (4)               (5)               
> (6) 
                        Dem. adv.        Dem. pref.      Reject auth.   Vote dem. cand.        Donate NGO    Attend prot
> est 
------------------------------------------------------------------------------------------------------------------------
> ----
Pooled treatment            0.049*            0.033*            0.037*            0.035             0.016             0.
> 021 
                    [0.019,0.079]     [0.011,0.055]     [0.011,0.064]    [-0.006,0.075]    [-0.011,0.042]    [-0.010,0.0
> 52] 

Gender                      0.089*            0.027*           -0.001            -0.002            -0.035*            0.
> 018 
                    [0.061,0.118]     [0.007,0.048]    [-0.026,0.024]    [-0.040,0.037]   [-0.061,-0.010]    [-0.012,0.0
> 47] 

age                        -0.003*           -0.001*            0.006*            0.001            -0.002*           -0.
> 002*
                  [-0.004,-0.002]   [-0.002,-0.001]     [0.005,0.007]    [-0.000,0.003]   [-0.003,-0.001]   [-0.003,-0.0
> 01] 

Catholic                   -0.008            -0.022             0.015            -0.035             0.002            -0.
> 035*
                   [-0.039,0.024]    [-0.045,0.001]    [-0.013,0.043]    [-0.078,0.008]    [-0.026,0.031]   [-0.067,-0.0
> 02] 

protestant                 -0.042*           -0.022             0.055*            0.067*           -0.030            -0.
> 046*
                  [-0.081,-0.004]    [-0.050,0.006]     [0.020,0.089]     [0.015,0.120]    [-0.065,0.004]   [-0.086,-0.0
> 06] 

others                     -0.021            -0.040*            0.037             0.013            -0.045            -0.
> 021 
                   [-0.071,0.029]   [-0.078,-0.003]    [-0.008,0.083]    [-0.055,0.081]    [-0.091,0.000]    [-0.074,0.0
> 32] 

Fula                       -0.029            -0.038             0.008             0.014             0.040            -0.
> 039 
                   [-0.098,0.041]    [-0.089,0.013]    [-0.056,0.071]    [-0.083,0.110]    [-0.023,0.104]    [-0.112,0.0
> 35] 

Bobo                        0.030             0.019             0.035            -0.010             0.021             0.
> 014 
                   [-0.035,0.095]    [-0.030,0.068]    [-0.024,0.094]    [-0.100,0.080]    [-0.039,0.080]    [-0.055,0.0
> 83] 

Gurma                       0.035            -0.039            -0.069*            0.027             0.002            -0.
> 007 
                   [-0.023,0.094]    [-0.081,0.003]   [-0.119,-0.019]    [-0.049,0.104]    [-0.049,0.052]    [-0.066,0.0
> 52] 

Gurunsi                     0.025             0.031             0.010            -0.033             0.027             0.
> 073*
                   [-0.030,0.079]    [-0.010,0.072]    [-0.039,0.060]    [-0.108,0.042]    [-0.023,0.078]     [0.015,0.1
> 31] 

Other                       0.034*           -0.003            -0.001             0.013            -0.006             0.
> 008 
                    [0.003,0.065]    [-0.026,0.020]    [-0.028,0.027]    [-0.029,0.055]    [-0.034,0.022]    [-0.024,0.0
> 41] 

Below primary               0.090             0.043            -0.247*           -0.064             0.149*            0.
> 062 
                   [-0.038,0.218]    [-0.047,0.133]   [-0.354,-0.140]    [-0.236,0.108]     [0.034,0.265]    [-0.066,0.1
> 91] 

Primary                     0.134*            0.033*           -0.226*           -0.088*            0.139*            0.
> 093*
                    [0.098,0.171]     [0.006,0.059]   [-0.258,-0.194]   [-0.137,-0.039]     [0.106,0.171]     [0.055,0.1
> 31] 

Secondary                   0.056*            0.037*           -0.102*           -0.059*            0.061*            0.
> 039*
                    [0.026,0.087]     [0.015,0.060]   [-0.129,-0.075]   [-0.100,-0.018]     [0.034,0.088]     [0.007,0.0
> 70] 

Vote intention             -0.013*           -0.003            -0.028*           -0.017*           -0.002             0.
> 001 
                  [-0.019,-0.007]    [-0.007,0.002]   [-0.033,-0.022]   [-0.025,-0.009]    [-0.007,0.003]    [-0.005,0.0
> 08] 

Political inte~t            0.006             0.008             0.028*            0.017             0.008             0.
> 036*
                   [-0.007,0.020]    [-0.002,0.017]     [0.016,0.040]    [-0.002,0.035]    [-0.004,0.020]     [0.022,0.0
> 50] 

gendemoc_pre                0.059*            0.066*            0.008*           -0.005             0.017*            0.
> 054*
                    [0.055,0.063]     [0.063,0.069]     [0.005,0.012]    [-0.011,0.001]     [0.013,0.021]     [0.049,0.0
> 58] 

Constant                    0.279*            0.301*            0.478*            0.459*            0.230*            0.
> 159*
                    [0.196,0.363]     [0.240,0.361]     [0.405,0.552]     [0.347,0.570]     [0.157,0.304]     [0.074,0.2
> 45] 
------------------------------------------------------------------------------------------------------------------------
> ----
Observations                 1575              1800              1723              1743              1696              1
> 733 
R^2                         0.390             0.511             0.268             0.039             0.105             0.
> 293 
Pre-treatment                 Yes               Yes               Yes               Yes               Yes               
> Yes 
Control Mean                0.559             0.711             0.444             0.313             0.317             0.
> 556 
------------------------------------------------------------------------------------------------------------------------
> ----
r; t=0.14 14:23:04

.         
. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:23:04

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:23:04
r; t=0.00 14:23:04

. 
. esttab `models' using "`tdir'TableF1_pooled_treat_vs_placebo_full.csv", replace ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     order(1.alltreat) ///
>     coeflabels(1.alltreat "Pooled treatment") ///
>     mtitle ///
>     stats(N r2 pretreat cmean, ///
>           fmt(0 3 0 3) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/TableF1_pooled_treat_vs_placebo_full.csv)
r; t=0.13 14:23:04

. 
. **--------------------------------
. * Table F2 (Table 7): Comparing Treatment Groups vs Placebo (full results)
. **--------------------------------
. capture erase "${table}/fcate_treat_screen.tex"
r; t=0.00 14:23:04

. capture erase "${table}/fcate_treat_screen.csv"
r; t=0.00 14:23:04

. estimates clear
r; t=0.00 14:23:04

. 
. cap which esttab
r; t=0.00 14:23:04

. if _rc ssc install estout, replace
r; t=0.00 14:23:04

. 
. local models
r; t=0.00 14:23:04

. 
. foreach k of varlist $zoutcome1 {
  2. 
.     // Run model (base=0 Placebo)
.   qui  reg `k' ib0.treat $controls 
  3. 
.     // Control-group mean on estimation sample
.     quietly summarize `k' if e(sample) & treat==0
  4.     local m = r(mean)
  5. 
.     // Short titles to fit console width
.     local short_title ""
  6.     if "`k'" == "zterrorism_regime"         local short_title "Dem. adv."
  7.     if "`k'" == "zgendemoc_post"            local short_title "Dem. pref."
  8.     if "`k'" == "zauth_support"             local short_title "Reject auth."
  9.     if "`k'" == "zdemoc_policy"             local short_title "Vote dem. cand."
 10.     if "`k'" == "zdonation"                 local short_title "Donate NGO"
 11.     if "`k'" == "zdemonstrat_democracy"     local short_title "Attend protest"
 12. 
.     // Joint equality: T1 = T2 = T3  (correct multi-equality test)
.     test (_b[1.treat] = _b[2.treat]) (_b[1.treat] = _b[3.treat])
 13.     local p_all = r(p)
 14. 
.     // Footer stats
.   qui  estadd scalar cmean   = `m'
 15.   qui  estadd scalar p_all   = `p_all'
 16.   qui  estadd local  pretreat "Yes"
 17. 
.     // Store model with short title
.     eststo, title("`short_title'")
 18.     local models `"`models' `e(name)'"'
 19. }

 ( 1)  1.treat - 2.treat = 0
 ( 2)  1.treat - 3.treat = 0

       F(  2,  1555) =    6.30
            Prob > F =    0.0019
(est1 stored)

 ( 1)  1.treat - 2.treat = 0
 ( 2)  1.treat - 3.treat = 0

       F(  2,  1780) =    2.79
            Prob > F =    0.0614
(est2 stored)

 ( 1)  1.treat - 2.treat = 0
 ( 2)  1.treat - 3.treat = 0

       F(  2,  1703) =    0.82
            Prob > F =    0.4409
(est3 stored)

 ( 1)  1.treat - 2.treat = 0
 ( 2)  1.treat - 3.treat = 0

       F(  2,  1723) =    0.69
            Prob > F =    0.5015
(est4 stored)

 ( 1)  1.treat - 2.treat = 0
 ( 2)  1.treat - 3.treat = 0

       F(  2,  1676) =    0.26
            Prob > F =    0.7731
(est5 stored)

 ( 1)  1.treat - 2.treat = 0
 ( 2)  1.treat - 3.treat = 0

       F(  2,  1713) =    3.54
            Prob > F =    0.0293
(est6 stored)
r; t=0.06 14:23:05

. 
. * Print full results to Results window
. * - Treatment rows first; covariates follow (labelled if var labels exist)
. esttab `models', ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     order(1.treat 2.treat 3.treat) ///
>     coeflabels(1.treat "T1: Civic rights" ///
>                2.treat "T2: General terrorism" ///
>                3.treat "T3: Burkina Faso") ///
>     mtitle ///
>     stats(N r2 pretreat cmean p_all, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean" "All equal (p-val.)")) ///
>     compress

------------------------------------------------------------------------------------------------------------------------
> ----
                              (1)               (2)               (3)               (4)               (5)               
> (6) 
                        Dem. adv.        Dem. pref.      Reject auth.   Vote dem. cand.        Donate NGO    Attend prot
> est 
------------------------------------------------------------------------------------------------------------------------
> ----
T1: Civic rights            0.024             0.048*            0.040*            0.027             0.021             0.
> 020 
                   [-0.012,0.061]     [0.021,0.075]     [0.007,0.072]    [-0.023,0.076]    [-0.011,0.054]    [-0.018,0.0
> 57] 

T2: General te~m            0.087*            0.035*            0.047*            0.052*            0.009             0.
> 047*
                    [0.051,0.124]     [0.008,0.062]     [0.014,0.080]     [0.002,0.102]    [-0.024,0.042]     [0.009,0.0
> 85] 

T3: Burkina Faso            0.037*            0.015             0.025             0.025             0.016            -0.
> 005 
                    [0.000,0.074]    [-0.012,0.043]    [-0.008,0.059]    [-0.025,0.075]    [-0.018,0.049]    [-0.044,0.0
> 33] 

Gender                      0.092*            0.027*           -0.000            -0.001            -0.036*            0.
> 019 
                    [0.063,0.120]     [0.007,0.048]    [-0.026,0.025]    [-0.039,0.038]   [-0.061,-0.010]    [-0.010,0.0
> 49] 

age                        -0.003*           -0.001*            0.006*            0.001            -0.002*           -0.
> 002*
                  [-0.004,-0.002]   [-0.002,-0.001]     [0.005,0.007]    [-0.000,0.003]   [-0.003,-0.001]   [-0.003,-0.0
> 01] 

Catholic                   -0.007            -0.022             0.015            -0.035             0.002            -0.
> 034*
                   [-0.038,0.025]    [-0.045,0.001]    [-0.013,0.043]    [-0.077,0.008]    [-0.026,0.031]   [-0.067,-0.0
> 02] 

protestant                 -0.043*           -0.023             0.054*            0.067*           -0.030            -0.
> 046*
                  [-0.082,-0.004]    [-0.051,0.005]     [0.020,0.088]     [0.015,0.119]    [-0.065,0.004]   [-0.086,-0.0
> 06] 

others                     -0.017            -0.039*            0.039             0.015            -0.046            -0.
> 017 
                   [-0.067,0.033]   [-0.077,-0.002]    [-0.007,0.084]    [-0.054,0.084]    [-0.091,0.000]    [-0.070,0.0
> 36] 

Fula                       -0.023            -0.038             0.009             0.016             0.040            -0.
> 035 
                   [-0.093,0.046]    [-0.089,0.014]    [-0.055,0.073]    [-0.080,0.112]    [-0.024,0.104]    [-0.109,0.0
> 38] 

Bobo                        0.034             0.019             0.036            -0.008             0.020             0.
> 017 
                   [-0.031,0.099]    [-0.030,0.068]    [-0.023,0.095]    [-0.098,0.082]    [-0.040,0.080]    [-0.052,0.0
> 86] 

Gurma                       0.034            -0.038            -0.069*            0.026             0.002            -0.
> 007 
                   [-0.024,0.092]    [-0.080,0.004]   [-0.119,-0.019]    [-0.050,0.103]    [-0.048,0.053]    [-0.066,0.0
> 51] 

Gurunsi                     0.024             0.032             0.011            -0.033             0.028             0.
> 073*
                   [-0.031,0.079]    [-0.009,0.073]    [-0.039,0.061]    [-0.109,0.042]    [-0.023,0.078]     [0.015,0.1
> 31] 

Other                       0.032*           -0.002            -0.001             0.013            -0.006             0.
> 008 
                    [0.002,0.063]    [-0.025,0.020]    [-0.028,0.027]    [-0.029,0.055]    [-0.033,0.022]    [-0.024,0.0
> 40] 

Below primary               0.091             0.044            -0.245*           -0.063             0.149*            0.
> 065 
                   [-0.036,0.219]    [-0.046,0.134]   [-0.352,-0.138]    [-0.235,0.110]     [0.033,0.265]    [-0.063,0.1
> 93] 

Primary                     0.137*            0.034*           -0.225*           -0.086*            0.138*            0.
> 095*
                    [0.101,0.173]     [0.008,0.061]   [-0.257,-0.192]   [-0.135,-0.038]     [0.106,0.171]     [0.058,0.1
> 33] 

Secondary                   0.056*            0.037*           -0.102*           -0.059*            0.061*            0.
> 039*
                    [0.026,0.086]     [0.015,0.060]   [-0.129,-0.075]   [-0.100,-0.018]     [0.034,0.088]     [0.007,0.0
> 70] 

Vote intention             -0.013*           -0.003            -0.028*           -0.017*           -0.002             0.
> 002 
                  [-0.019,-0.007]    [-0.007,0.002]   [-0.033,-0.022]   [-0.025,-0.009]    [-0.007,0.003]    [-0.004,0.0
> 08] 

Political inte~t            0.008             0.008             0.028*            0.017             0.007             0.
> 036*
                   [-0.006,0.021]    [-0.002,0.017]     [0.016,0.040]    [-0.001,0.035]    [-0.005,0.019]     [0.022,0.0
> 50] 

gendemoc_pre                0.059*            0.066*            0.008*           -0.005             0.017*            0.
> 053*
                    [0.054,0.063]     [0.063,0.069]     [0.004,0.012]    [-0.011,0.001]     [0.013,0.021]     [0.049,0.0
> 58] 

Constant                    0.276*            0.297*            0.476*            0.457*            0.231*            0.
> 154*
                    [0.193,0.359]     [0.236,0.358]     [0.403,0.550]     [0.345,0.569]     [0.157,0.304]     [0.068,0.2
> 39] 
------------------------------------------------------------------------------------------------------------------------
> ----
Observations                 1575              1800              1723              1743              1696              1
> 733 
R^2                         0.395             0.513             0.268             0.040             0.105             0.
> 296 
Pre-treatment                 Yes               Yes               Yes               Yes               Yes               
> Yes 
Control Mean                0.559             0.711             0.444             0.313             0.317             0.
> 556 
All equal..)               0.0019            0.0614            0.4409            0.5015            0.7731            0.0
> 293 
------------------------------------------------------------------------------------------------------------------------
> ----
r; t=0.14 14:23:05

. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:23:05

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:23:05
r; t=0.00 14:23:05

. 
. esttab `models' using "`tdir'TableF2_compare_treatments_vs_placebo_full.csv", replace ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     order(1.treat 2.treat 3.treat) ///
>     coeflabels(1.treat "T1: Civic rights" ///
>                2.treat "T2: General terrorism" ///
>                3.treat "T3: Burkina Faso") ///
>     mtitle ///
>     stats(N r2 pretreat cmean p_all, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean" "All equal (p-val.)")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/TableF2_compare_treatments_vs_placebo_full.csv)
r; t=0.22 14:23:05

. 
. *-----------------------------
. * Table G1(Table 8): Treatment Effects: All Treatment versus Placebo (Unbalanced pre-treatment)
. *-----------------------------
. //--------------------------------------------------------------
. // Pooled: All treatment vs Placebo — with partial controls ($pcvars)
. // Prints to Results window (replicable via log)
. //--------------------------------------------------------------
. capture erase "${table}/cpooled_screen.tex"
r; t=0.00 14:23:05

. capture erase "${table}/cpooled_screen.csv"
r; t=0.00 14:23:05

. estimates clear
r; t=0.00 14:23:05

. 
. cap which esttab
r; t=0.00 14:23:05

. if _rc ssc install estout, replace
r; t=0.00 14:23:05

. 
. local models
r; t=0.00 14:23:05

. 
. foreach k of varlist $zoutcome1 {
  2. 
.     // OLS with base=0 (Placebo) and partial controls
.   qui  reg `k' ib0.alltreat $pcvars 
  3. 
.     // Control Mean on the estimation sample only
.     quietly summarize `k' if e(sample) & alltreat==0
  4.     local m = r(mean)
  5. 
.     // Short titles to fit console width
.     local short_title ""
  6.     if "`k'" == "zterrorism_regime"         local short_title "Dem. adv."
  7.     if "`k'" == "zgendemoc_post"            local short_title "Dem. pref."
  8.     if "`k'" == "zauth_support"             local short_title "Reject auth."
  9.     if "`k'" == "zdemoc_policy"             local short_title "Vote dem. cand."
 10.     if "`k'" == "zdonation"                 local short_title "Donate NGO"
 11.     if "`k'" == "zdemonstrat_democracy"     local short_title "Attend protest"
 12. 
.     // Footer stats for esttab
.   qui  estadd scalar cmean = `m'
 13.   qui  estadd local  pretreat "Yes"
 14. 
.   qui  eststo, title("`short_title'")
 15.     local models `"`models' `e(name)'"'
 16. }
r; t=0.03 14:23:05

. 
. * ------ PRINT to Results window (compact & accurate) ------
. esttab `models', ///
>     keep(1.alltreat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.alltreat "Pooled treatment") ///
>     mtitle ///
>     stats(N r2 pretreat cmean, ///
>           fmt(0 3 0 3) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean")) ///
>     compress

------------------------------------------------------------------------------------------------------------------------
> ----
                              (1)               (2)               (3)               (4)               (5)               
> (6) 
                        Dem. adv.        Dem. pref.      Reject auth.   Vote dem. cand.        Donate NGO    Attend prot
> est 
------------------------------------------------------------------------------------------------------------------------
> ----
Pooled treatment            0.049*            0.031*            0.038*            0.037             0.014             0.
> 021 
                    [0.019,0.080]     [0.009,0.053]     [0.008,0.068]    [-0.003,0.077]    [-0.013,0.041]    [-0.010,0.0
> 52] 
------------------------------------------------------------------------------------------------------------------------
> ----
Observations                 1664              1916              1822              1853              1796              1
> 839 
R^2                         0.331             0.482             0.012             0.003             0.051             0.
> 252 
Pre-treatment                 Yes               Yes               Yes               Yes               Yes               
> Yes 
Control Mean                0.562             0.711             0.441             0.310             0.320             0.
> 558 
------------------------------------------------------------------------------------------------------------------------
> ----
r; t=0.05 14:23:05

. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:23:05

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:23:05
r; t=0.00 14:23:05

. 
. esttab `models' using "`tdir'TableG1_pooled_unbalanced_pretreat.csv", replace ///
>     keep(1.alltreat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.alltreat "Pooled treatment") ///
>     mtitle ///
>     stats(N r2 pretreat cmean, ///
>           fmt(0 3 0 3) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/TableG1_pooled_unbalanced_pretreat.csv)
r; t=0.05 14:23:05

. 
. *-----------------------------
. * Table G2(Table 9): Comparing Treatment Groups vs Placebo (Unbalanced pre-treatment)
. *-----------------------------
. capture erase "${table}/ccate_treat_screen.tex"
r; t=0.00 14:23:05

. capture erase "${table}/ccate_treat_screen.csv"
r; t=0.00 14:23:05

. estimates clear
r; t=0.00 14:23:05

. 
. cap which esttab
r; t=0.00 14:23:05

. if _rc ssc install estout, replace
r; t=0.00 14:23:05

. 
. local models
r; t=0.00 14:23:05

. 
. foreach k of varlist $zoutcome1 {
  2. 
.     // OLS with placebo (0) as base; unbalanced controls
.  qui   reg `k' ib0.treat $cvars 
  3. 
.     // Control Mean on estimation sample (placebo group only)
.     quietly summarize `k' if e(sample) & treat==0
  4.     local m = r(mean)
  5. 
.     // Short DV titles to fit console width
.     local short_title ""
  6.     if "`k'" == "zterrorism_regime"         local short_title "Dem. adv."
  7.     if "`k'" == "zgendemoc_post"            local short_title "Dem. pref."
  8.     if "`k'" == "zauth_support"             local short_title "Reject auth."
  9.     if "`k'" == "zdemoc_policy"             local short_title "Vote dem. cand."
 10.     if "`k'" == "zdonation"                 local short_title "Donate NGO"
 11.     if "`k'" == "zdemonstrat_democracy"     local short_title "Attend protest"
 12. 
.     // Joint equality: T1 = T2 = T3
. qui    test (_b[1.treat] = _b[2.treat]) (_b[1.treat] = _b[3.treat])
 13.     local p_all = r(p)
 14. 
.     // Footer stats for esttab
.  qui   estadd scalar cmean   = `m'
 15.  qui   estadd scalar p_all   = `p_all'
 16.   qui  estadd local  pretreat "Yes"
 17. 
.  qui   eststo, title("`short_title'")
 18.     local models `"`models' `e(name)'"'
 19. }
r; t=0.04 14:23:05

. 
. * --------- PRINT to Results window (treatment rows only) ----------
. esttab `models', ///
>     keep(1.treat 2.treat 3.treat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.treat "T1: Civic rights" ///
>                2.treat "T2: General terrorism" ///
>                3.treat "T3: Burkina Faso") ///
>     mtitle ///
>     stats(N r2 pretreat cmean p_all, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean" "All equal (p-val.)")) ///
>     compress

------------------------------------------------------------------------------------------------------------------------
> ----
                              (1)               (2)               (3)               (4)               (5)               
> (6) 
                        Dem. adv.        Dem. pref.      Reject auth.   Vote dem. cand.        Donate NGO    Attend prot
> est 
------------------------------------------------------------------------------------------------------------------------
> ----
T1: Civic rights            0.028             0.051*            0.037*            0.033             0.023             0.
> 027 
                   [-0.008,0.065]     [0.025,0.078]     [0.002,0.073]    [-0.016,0.081]    [-0.011,0.056]    [-0.011,0.0
> 65] 

T2: General te~m            0.085*            0.036*            0.052*            0.050*            0.010             0.
> 044*
                    [0.048,0.122]     [0.009,0.063]     [0.016,0.087]     [0.001,0.099]    [-0.024,0.043]     [0.006,0.0
> 82] 

T3: Burkina Faso            0.038*            0.015             0.023             0.022             0.013            -0.
> 005 
                    [0.000,0.075]    [-0.012,0.042]    [-0.013,0.059]    [-0.027,0.071]    [-0.021,0.047]    [-0.043,0.0
> 34] 
------------------------------------------------------------------------------------------------------------------------
> ----
Observations                 1639              1887              1793              1825              1769              1
> 811 
R^2                         0.354             0.501             0.113             0.029             0.063             0.
> 267 
Pre-treatment                 Yes               Yes               Yes               Yes               Yes               
> Yes 
Control Mean                0.561             0.710             0.439             0.311             0.321             0.
> 558 
All equal..)               0.0066            0.0302            0.2906            0.5325            0.7282            0.0
> 393 
------------------------------------------------------------------------------------------------------------------------
> ----
r; t=0.07 14:23:05

. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:23:05

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:23:05
r; t=0.00 14:23:05

. 
. esttab `models' using "`tdir'TableG2_compare_treatments_unbalanced_pretreat.csv", replace ///
>     keep(1.treat 2.treat 3.treat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.treat "T1: Civic rights" ///
>                2.treat "T2: General terrorism" ///
>                3.treat "T3: Burkina Faso") ///
>     mtitle ///
>     stats(N r2 pretreat cmean p_all, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean" "All equal (p-val.)")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/TableG2_compare_treatments_unbalanced_pretreat.csv)
r; t=0.10 14:23:05

.                 
. **--------------------------------
. * Table G3 (Table 10): Comparing pooled terrorism and civic rights treatments
. **--------------------------------
. capture erase "${table}/cate_pooled_screen.tex"
r; t=0.00 14:23:05

. capture erase "${table}/cate_pooled_screen.csv"
r; t=0.00 14:23:05

. estimates clear
r; t=0.00 14:23:05

. 
. cap which esttab
r; t=0.00 14:23:05

. if _rc ssc install estout, replace
r; t=0.00 14:23:05

. 
. local models
r; t=0.00 14:23:05

. 
. foreach k of varlist $zoutcome1 {
  2. 
.     // OLS with placebo as base (0)
. qui    reg `k' ib0.terrorism_right $controls 
  3. 
.     // Control Mean on estimation sample (placebo group)
.     quietly summarize `k' if e(sample) & terrorism_right==0
  4.     local m = r(mean)
  5. 
.     // Short DV titles for console width
.     local short_title ""
  6.     if "`k'" == "zterrorism_regime"         local short_title "Dem. adv."
  7.     if "`k'" == "zgendemoc_post"            local short_title "Dem. pref."
  8.     if "`k'" == "zauth_support"             local short_title "Reject auth."
  9.     if "`k'" == "zdemoc_policy"             local short_title "Vote dem. cand."
 10.     if "`k'" == "zdonation"                 local short_title "Donate NGO"
 11.     if "`k'" == "zdemonstrat_democracy"     local short_title "Attend protest"
 12. 
.     // Equality test: Civic rights = Terrorism (pooled)
.  qui   test _b[1.terrorism_right] = _b[2.terrorism_right]
 13.     local pval = r(p)
 14. 
.     // Footer stats for esttab
.  qui   estadd scalar cmean = `m'
 15.  qui   estadd scalar p_civic_vs_pooled = `pval'
 16.  qui   estadd local  pretreat "Yes"
 17. 
.  qui   eststo, title("`short_title'")
 18.     local models `"`models' `e(name)'"'
 19. }
r; t=0.04 14:23:05

. 
. * --------- PRINT to Results window ----------
.  esttab `models', ///
>     keep(1.terrorism_right 2.terrorism_right) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.terrorism_right "T1: Civic rights" ///
>                2.terrorism_right "T2/T3: Terrorism (pooled)") ///
>     mtitle ///
>     stats(N r2 pretreat cmean p_civic_vs_pooled, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean" "T1 vs T2/T3 (p-val.)")) ///
>     compress

------------------------------------------------------------------------------------------------------------------------
> ----
                              (1)               (2)               (3)               (4)               (5)               
> (6) 
                        Dem. adv.        Dem. pref.      Reject auth.   Vote dem. cand.        Donate NGO    Attend prot
> est 
------------------------------------------------------------------------------------------------------------------------
> ----
T1: Civic rights            0.024             0.048*            0.040*            0.027             0.021             0.
> 020 
                   [-0.012,0.061]     [0.021,0.075]     [0.007,0.072]    [-0.023,0.076]    [-0.012,0.054]    [-0.018,0.0
> 58] 

T2/T3: Terrori~)            0.062*            0.025*            0.036*            0.039             0.012             0.
> 021 
                    [0.031,0.094]     [0.002,0.049]     [0.008,0.065]    [-0.005,0.082]    [-0.016,0.041]    [-0.012,0.0
> 55] 
------------------------------------------------------------------------------------------------------------------------
> ----
Observations                 1575              1800              1723              1743              1696              1
> 733 
R^2                         0.393             0.512             0.268             0.039             0.105             0.
> 293 
Pre-treatment                 Yes               Yes               Yes               Yes               Yes               
> Yes 
Control Mean                0.559             0.711             0.444             0.313             0.317             0.
> 556 
T1 vs T2/..)               0.0191            0.0589            0.8035            0.5976            0.5426            0.9
> 131 
------------------------------------------------------------------------------------------------------------------------
> ----
r; t=0.08 14:23:05

. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:23:05

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:23:05
r; t=0.00 14:23:05

. 
. esttab `models' using "`tdir'TableG3_civic_vs_terrorism_pooled.csv", replace ///
>     keep(1.terrorism_right 2.terrorism_right) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.terrorism_right "T1: Civic rights" ///
>                2.terrorism_right "T2/T3: Terrorism (pooled)") ///
>     mtitle ///
>     stats(N r2 pretreat cmean p_civic_vs_pooled, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean" "T1 vs T2/T3 (p-val.)")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/TableG3_civic_vs_terrorism_pooled.csv)
r; t=0.07 14:23:05

.                         
. *-----------------------------
. * Table H1 (Table 11): All Treatment vs Placebo (weighted)
. *-----------------------------
. capture erase "${table}/pooled_weight_screen.tex"
r; t=0.00 14:23:05

. capture erase "${table}/pooled_weight_screen.csv"
r; t=0.00 14:23:05

. estimates clear
r; t=0.00 14:23:05

. 
. cap which esttab
r; t=0.00 14:23:05

. if _rc ssc install estout, replace
r; t=0.00 14:23:05

. 
. local models
r; t=0.00 14:23:05

. 
. foreach k of varlist $zoutcome1 {
  2. 
.     // OLS with placebo base (0) and analytic weights
.    qui reg `k' ib0.alltreat $controls  [aweight=weight]
  3. 
.     // Control Mean on estimation sample control group, using the same weights
.     quietly summarize `k' if e(sample) & alltreat==0 [aweight=weight]
  4.     local m = r(mean)
  5. 
.     // Short, console-friendly DV titles
.     local short_title ""
  6.     if "`k'" == "zterrorism_regime"         local short_title "Dem. adv."
  7.     if "`k'" == "zgendemoc_post"            local short_title "Dem. pref."
  8.     if "`k'" == "zauth_support"             local short_title "Reject auth."
  9.     if "`k'" == "zdemoc_policy"             local short_title "Vote dem. cand."
 10.     if "`k'" == "zdonation"                 local short_title "Donate NGO"
 11.     if "`k'" == "zdemonstrat_democracy"     local short_title "Attend protest"
 12. 
.     // Footer stats for esttab
.  qui   estadd scalar cmean = `m'
 13.  qui   estadd local  pretreat "Yes"
 14. 
.  qui   eststo, title("`short_title'")
 15.     local models `"`models' `e(name)'"'
 16. }
r; t=0.05 14:23:06

. 
. * --------- PRINT to Results window ----------
. esttab `models', ///
>     keep(1.alltreat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.alltreat "Pooled treatment") ///
>     mtitle ///
>     stats(N r2 pretreat cmean, ///
>           fmt(0 3 0 3) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean")) ///
>     compress

------------------------------------------------------------------------------------------------------------------------
> ----
                              (1)               (2)               (3)               (4)               (5)               
> (6) 
                        Dem. adv.        Dem. pref.      Reject auth.   Vote dem. cand.        Donate NGO    Attend prot
> est 
------------------------------------------------------------------------------------------------------------------------
> ----
Pooled treatment            0.071*            0.047*            0.008             0.048*            0.023             0.
> 023 
                    [0.041,0.101]     [0.024,0.069]    [-0.020,0.036]     [0.008,0.088]    [-0.004,0.049]    [-0.007,0.0
> 54] 
------------------------------------------------------------------------------------------------------------------------
> ----
Observations                 1575              1800              1723              1743              1696              1
> 733 
R^2                         0.440             0.531             0.209             0.061             0.092             0.
> 338 
Pre-treatment                 Yes               Yes               Yes               Yes               Yes               
> Yes 
Control Mean                0.527             0.693             0.498             0.310             0.298             0.
> 550 
------------------------------------------------------------------------------------------------------------------------
> ----
r; t=0.09 14:23:06

. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:23:06

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:23:06
r; t=0.00 14:23:06

. 
. esttab `models' using "`tdir'TableH1_pooled_weighted.csv", replace ///
>     keep(1.alltreat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.alltreat "Pooled treatment") ///
>     mtitle ///
>     stats(N r2 pretreat cmean, ///
>           fmt(0 3 0 3) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/TableH1_pooled_weighted.csv)
r; t=0.07 14:23:06

. 
. *-----------------------------
. * Table H2 (Table 12): Comparing Treatment Groups vs Placebo (weighted)
. *-----------------------------
. capture erase "${table}/cate_weight_screen.tex"
r; t=0.00 14:23:06

. capture erase "${table}/cate_weight_screen.csv"
r; t=0.00 14:23:06

. estimates clear
r; t=0.00 14:23:06

. 
. cap which esttab
r; t=0.00 14:23:06

. if _rc ssc install estout, replace
r; t=0.00 14:23:06

. 
. local models
r; t=0.00 14:23:06

. 
. foreach k of varlist $zoutcome1 {
  2. 
.     // OLS with placebo (0) as base; analytic weights
.   qui  reg `k' ib0.treat $controls  [aweight=weight]
  3. 
.     // Control Mean on estimation sample (placebo group) with same weights
.     quietly summarize `k' if e(sample) & treat==0 [aweight=weight]
  4.     local m = r(mean)
  5. 
.     // Short DV titles for console width
.     local short_title ""
  6.     if ("`k'"=="zterrorism_regime")        local short_title "Dem. adv."
  7.     if ("`k'"=="zgendemoc_post")           local short_title "Dem. pref."
  8.     if ("`k'"=="zauth_support")            local short_title "Reject auth."
  9.     if ("`k'"=="zdemoc_policy")            local short_title "Vote dem. cand."
 10.     if ("`k'"=="zdonation")                local short_title "Donate NGO"
 11.     if ("`k'"=="zdemonstrat_democracy")    local short_title "Attend protest"
 12. 
.     // Joint equality: T1 = T2 = T3
.     test (_b[1.treat] = _b[2.treat]) (_b[1.treat] = _b[3.treat])
 13.     local p_all = r(p)
 14. 
.     // Footer stats for esttab
.  qui   estadd scalar cmean   = `m'
 15.  qui   estadd scalar p_all   = `p_all'
 16.  qui   estadd local  pretreat "Yes"
 17. 
.     eststo, title("`short_title'")
 18.     local models `"`models' `e(name)'"'
 19. }

 ( 1)  1.treat - 2.treat = 0
 ( 2)  1.treat - 3.treat = 0

       F(  2,  1555) =    7.47
            Prob > F =    0.0006
(est1 stored)

 ( 1)  1.treat - 2.treat = 0
 ( 2)  1.treat - 3.treat = 0

       F(  2,  1780) =    1.31
            Prob > F =    0.2694
(est2 stored)

 ( 1)  1.treat - 2.treat = 0
 ( 2)  1.treat - 3.treat = 0

       F(  2,  1703) =    1.50
            Prob > F =    0.2233
(est3 stored)

 ( 1)  1.treat - 2.treat = 0
 ( 2)  1.treat - 3.treat = 0

       F(  2,  1723) =    1.79
            Prob > F =    0.1671
(est4 stored)

 ( 1)  1.treat - 2.treat = 0
 ( 2)  1.treat - 3.treat = 0

       F(  2,  1676) =    1.60
            Prob > F =    0.2020
(est5 stored)

 ( 1)  1.treat - 2.treat = 0
 ( 2)  1.treat - 3.treat = 0

       F(  2,  1713) =    5.49
            Prob > F =    0.0042
(est6 stored)
r; t=0.05 14:23:06

. 
. * --------- PRINT to Results window (treatment rows only) ----------
. esttab `models', ///
>     keep(1.treat 2.treat 3.treat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.treat "T1: Civic rights" ///
>                2.treat "T2: General terrorism" ///
>                3.treat "T3: Burkina Faso") ///
>     mtitle ///
>     stats(N r2 pretreat cmean p_all, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean" "All equal (p-val.)")) ///
>     compress

------------------------------------------------------------------------------------------------------------------------
> ----
                              (1)               (2)               (3)               (4)               (5)               
> (6) 
                        Dem. adv.        Dem. pref.      Reject auth.   Vote dem. cand.        Donate NGO    Attend prot
> est 
------------------------------------------------------------------------------------------------------------------------
> ----
T1: Civic rights            0.045*            0.054*           -0.008             0.049*            0.007             0.
> 012 
                    [0.008,0.081]     [0.026,0.081]    [-0.042,0.026]     [0.000,0.098]    [-0.025,0.039]    [-0.025,0.0
> 49] 

T2: General te~m            0.112*            0.053*            0.022             0.070*            0.035*            0.
> 058*
                    [0.076,0.149]     [0.025,0.080]    [-0.012,0.056]     [0.021,0.119]     [0.002,0.067]     [0.021,0.0
> 95] 

T3: Burkina Faso            0.056*            0.033*            0.009             0.021             0.028            -0.
> 002 
                    [0.019,0.093]     [0.005,0.061]    [-0.026,0.044]    [-0.029,0.072]    [-0.005,0.061]    [-0.040,0.0
> 36] 
------------------------------------------------------------------------------------------------------------------------
> ----
Observations                 1575              1800              1723              1743              1696              1
> 733 
R^2                         0.445             0.531             0.211             0.063             0.094             0.
> 342 
Pre-treatment                 Yes               Yes               Yes               Yes               Yes               
> Yes 
Control Mean                0.527             0.693             0.498             0.310             0.298             0.
> 550 
All equal..)               0.0006            0.2694            0.2233            0.1671            0.2020            0.0
> 042 
------------------------------------------------------------------------------------------------------------------------
> ----
r; t=0.09 14:23:06

. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:23:06

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:23:06
r; t=0.00 14:23:06

. 
. esttab `models' using "`tdir'TableH2_compare_treatments_weighted.csv", replace ///
>     keep(1.treat 2.treat 3.treat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.treat "T1: Civic rights" ///
>                2.treat "T2: General terrorism" ///
>                3.treat "T3: Burkina Faso") ///
>     mtitle ///
>     stats(N r2 pretreat cmean p_all, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean" "All equal (p-val.)")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/TableH2_compare_treatments_weighted.csv)
r; t=0.08 14:23:06

. 
. **--------------------------------                                      
. // Main treatment effect, using original scales
. **--------------------------------                      
. 
. //--------------------------------------------------------------
. // Table I1 (Table 13) — Main pooled treatment (All vs Placebo) 
. //--------------------------------------------------------------
. capture erase "${table}/pooled_OR_screen.tex"
r; t=0.00 14:23:06

. capture erase "${table}/pooled_OR_screen.csv"
r; t=0.00 14:23:06

. estimates clear
r; t=0.00 14:23:06

. 
. cap which esttab
r; t=0.00 14:23:06

. if _rc ssc install estout, replace
r; t=0.00 14:23:06

. 
. local models
r; t=0.00 14:23:06

. 
. foreach k of varlist $outcomes1 {
  2. 
.     // OLS with placebo/base = 0
.  qui   reg `k' ib0.alltreat $controls 
  3. 
.     // Control-group stats on the estimation sample only
.     quietly summarize `k' if e(sample) & alltreat==0
  4.     local m   = r(mean)
  5.     local min = r(min)
  6.     local max = r(max)
  7. 
.     // Short, console-friendly DV titles
.     local short_title ""
  8.     if "`k'" == "terrorism_regime"         local short_title "Dem. adv."
  9.     if "`k'" == "gendemoc_post"            local short_title "Dem. pref."
 10.     if "`k'" == "auth_support"             local short_title "Reject auth."
 11.     if "`k'" == "democ_policy"             local short_title "Vote dem. cand."
 12.     if "`k'" == "donation"                 local short_title "Donate NGO"
 13.     if "`k'" == "demonstrat_democracy"     local short_title "Attend protest"
 14. 
.     // Footer stats for esttab
.  qui   estadd scalar cmean = `m'
 15.  qui   estadd scalar cmin  = `min'
 16.  qui   estadd scalar cmax  = `max'
 17.  qui   estadd local  covars "Yes"
 18. 
.     eststo, title("`short_title'")
 19.     local models `"`models' `e(name)'"'
 20. }
(est1 stored)
(est2 stored)
(est3 stored)
(est4 stored)
(est5 stored)
(est6 stored)
r; t=0.05 14:23:06

. 
. * ---------- PRINT to Results window (captured by your .log) ----------
. esttab `models', ///
>     keep(1.alltreat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.alltreat "Pooled treatments vs. placebo") ///
>     mtitle ///
>     stats(N r2 covars cmean cmin cmax, ///
>           fmt(0 3 0 2 2 2) ///
>           labels("Observations" "R^2" "Covariates" "Control Mean" "Min" "Max")) ///
>     compress

------------------------------------------------------------------------------------------------------------------------
> ----
                              (1)               (2)               (3)               (4)               (5)               
> (6) 
                       Dem. pref.      Reject auth.   Vote dem. cand.        Donate NGO    Attend protest         Dem. a
> dv. 
------------------------------------------------------------------------------------------------------------------------
> ----
Pooled tr.. pl~o            0.330*            0.150*            0.345             1.861             0.208             0.
> 493*
                    [0.110,0.550]     [0.043,0.257]    [-0.059,0.750]    [-1.376,5.098]    [-0.104,0.520]     [0.194,0.7
> 92] 
------------------------------------------------------------------------------------------------------------------------
> ----
Observations                 1800              1723              1743              1696              1733              1
> 575 
R^2                         0.511             0.268             0.039             0.105             0.293             0.
> 390 
Covariates                    Yes               Yes               Yes               Yes               Yes               
> Yes 
Control Mean                 7.11              2.78              3.13             38.00              5.56              5
> .59 
Min                          0.00              1.00              0.00              0.00              0.00              0
> .00 
Max                         10.00              5.00             10.00            120.00             10.00             10
> .00 
------------------------------------------------------------------------------------------------------------------------
> ----
r; t=0.07 14:23:06

. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:23:06

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:23:06
r; t=0.00 14:23:06

. 
. esttab `models' using "`tdir'TableI1_pooled_OR_main.csv", replace ///
>     keep(1.alltreat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.alltreat "Pooled treatments vs. placebo") ///
>     mtitle ///
>     stats(N r2 covars cmean cmin cmax, ///
>           fmt(0 3 0 2 2 2) ///
>           labels("Observations" "R^2" "Covariates" "Control Mean" "Min" "Max")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/TableI1_pooled_OR_main.csv)
r; t=0.08 14:23:06

. 
. *-----------------------------------------------------------------------------------
. * Table I2 (Table 14) — By treatment arm (1=Civic rights, 2=General, 3=Burkina) vs Placebo
. *-----------------------------------------------------------------------------------
. capture erase "${table}/cate_treat_OR_screen.tex"
r; t=0.00 14:23:06

. capture erase "${table}/cate_treat_OR_screen.csv"
r; t=0.00 14:23:06

. estimates clear
r; t=0.00 14:23:06

. 
. cap which esttab
r; t=0.00 14:23:06

. if _rc ssc install estout, replace
r; t=0.00 14:23:06

. 
. local models
r; t=0.00 14:23:06

. 
. foreach k of varlist $outcomes1 {
  2. 
.     // OLS with placebo (0) as base; include full controls
.   qui  reg `k' ib0.treat $controls 
  3. 
.     // Control-group stats on the estimation sample only
.     quietly summarize `k' if e(sample) & treat==0
  4.     local m   = r(mean)
  5.     local cmin = r(min)
  6.     local cmax = r(max)
  7. 
.     // Short DV titles (fits console)
.     local short_title ""
  8.     if "`k'" == "terrorism_regime"         local short_title "Dem. adv."
  9.     if "`k'" == "gendemoc_post"            local short_title "Dem. pref."
 10.     if "`k'" == "auth_support"             local short_title "Reject auth."
 11.     if "`k'" == "democ_policy"             local short_title "Vote dem. cand."
 12.     if "`k'" == "donation"                 local short_title "Donate NGO"
 13.     if "`k'" == "demonstrat_democracy"     local short_title "Attend protest"
 14. 
.     // Hypothesis tests
.     // H1: T1 = T2 + T3  (Civic vs combined terrorism)
.   qui  test _b[1.treat] = _b[2.treat] + _b[3.treat]
 15.     local p_civic_23 = r(p)
 16. 
.     // H2: T2 = T3  (General vs Burkina)
.  qui   test _b[2.treat] = _b[3.treat]
 17.     local p_2v3 = r(p)
 18. 
.     // Footer stats for esttab
.  qui   estadd scalar cmean = `m'
 19.  qui   estadd scalar cmin  = `cmin'
 20.  qui   estadd scalar cmax  = `cmax'
 21.  qui   estadd scalar p_civic_23 = `p_civic_23'
 22.  qui   estadd scalar p_2v3      = `p_2v3'
 23.  qui   estadd local  pretreat "Yes"
 24. 
.     eststo, title("`short_title'")
 25.     local models `"`models' `e(name)'"'
 26. }
(est1 stored)
(est2 stored)
(est3 stored)
(est4 stored)
(est5 stored)
(est6 stored)
r; t=0.05 14:23:06

. 
. * --------- PRINT to Results window (captured by .log) ----------
. esttab `models', ///
>     keep(1.treat 2.treat 3.treat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.treat "T1: Civic rights" ///
>                2.treat "T2: General terrorism" ///
>                3.treat "T3: Burkina Faso") ///
>     mtitle ///
>     stats(N r2 pretreat cmean cmin cmax p_civic_23 p_2v3, ///
>           fmt(0 3 0 2 2 2 4 4) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean" "Min" "Max" ///
>                  "T1 = T2+T3 (p-val.)" "T2 = T3 (p-val.)")) ///
>     compress

------------------------------------------------------------------------------------------------------------------------
> ----
                              (1)               (2)               (3)               (4)               (5)               
> (6) 
                       Dem. pref.      Reject auth.   Vote dem. cand.        Donate NGO    Attend protest         Dem. a
> dv. 
------------------------------------------------------------------------------------------------------------------------
> ----
T1: Civic rights            0.478*            0.159*            0.269             2.557             0.195             0.
> 244 
                    [0.210,0.746]     [0.029,0.289]    [-0.226,0.763]    [-1.380,6.494]    [-0.184,0.575]    [-0.120,0.6
> 07] 

T2: General te~m            0.352*            0.187*            0.519*            1.110             0.471*            0.
> 875*
                    [0.082,0.622]     [0.055,0.318]     [0.021,1.017]    [-2.866,5.086]     [0.089,0.852]     [0.508,1.2
> 42] 

T3: Burkina Faso            0.155             0.102             0.248             1.888            -0.052             0.
> 369*
                   [-0.115,0.425]    [-0.030,0.234]    [-0.253,0.749]    [-2.120,5.896]    [-0.437,0.334]     [0.001,0.7
> 38] 
------------------------------------------------------------------------------------------------------------------------
> ----
Observations                 1800              1723              1743              1696              1733              1
> 575 
R^2                         0.513             0.268             0.040             0.105             0.296             0.
> 395 
Pre-treatment                 Yes               Yes               Yes               Yes               Yes               
> Yes 
Control Mean                 7.11              2.78              3.13             38.00              5.56              5
> .59 
Min                          0.00              1.00              0.00              0.00              0.00              0
> .00 
Max                         10.00              5.00             10.00            120.00             10.00             10
> .00 
T1 = T2+T..)               0.8814            0.1712            0.1667            0.8778            0.4172            0.0
> 002 
T2 = T3 (p-val.)           0.1560            0.2094            0.2940            0.7045            0.0080            0.0
> 079 
------------------------------------------------------------------------------------------------------------------------
> ----
r; t=0.09 14:23:06

. 
. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:23:06

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:23:06
r; t=0.00 14:23:06

. 
. esttab `models' using "`tdir'TableI2_by_treatment_arm_OR.csv", replace ///
>     keep(1.treat 2.treat 3.treat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.treat "T1: Civic rights" ///
>                2.treat "T2: General terrorism" ///
>                3.treat "T3: Burkina Faso") ///
>     mtitle ///
>     stats(N r2 pretreat cmean cmin cmax p_civic_23 p_2v3, ///
>           fmt(0 3 0 2 2 2 4 4) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean" "Min" "Max" ///
>                  "T1 = T2+T3 (p-val.)" "T2 = T3 (p-val.)")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/TableI2_by_treatment_arm_OR.csv)
r; t=0.09 14:23:06

.         
. *-----------------------------
. * Table J1 (Table 15): Item-level analysis — Treatment vs Placebo
. *-----------------------------
. capture erase "${table}/cate_treat_autho_screen.tex"
r; t=0.00 14:23:06

. capture erase "${table}/cate_treat_autho_screen.csv"
r; t=0.00 14:23:06

. estimates clear
r; t=0.00 14:23:06

. eststo clear
r; t=0.00 14:23:06

. 
. cap which esttab
r; t=0.00 14:23:06

. if _rc ssc install estout, replace
r; t=0.00 14:23:06

. 
. local models
r; t=0.00 14:23:06

. local mlabels
r; t=0.00 14:23:06

. 
. foreach k of varlist $zautho {
  2.     quietly reg `k' ib0.treat $controls
  3. 
.     quietly summarize `k' if e(sample) & treat==0
  4.     local m    = r(mean)
  5.     local cmin = r(min)
  6.     local cmax = r(max)
  7. 
.     * Column titles
.     local t ""
  8.     if "`k'" == "zauthoritarianism_1" local t "Strong leader"
  9.     if "`k'" == "zauthoritarianism_2" local t "Military rule"
 10.     if "`k'" == "zauthoritarianism_3" local t "One-party rule"
 11.     if "`k'" == "zauthoritarianism_4" local t "Sharia rule"
 12.     if `"`t'"'== "" local t "`k'"
 13. 
.     * Footer stats
.     qui estadd scalar cmean = `m'
 14.     qui estadd scalar cmin  = `cmin'
 15.     qui estadd scalar cmax  = `cmax'
 16.     qui estadd local  covars "Yes"
 17. 
.     eststo
 18.     local models  `"`models' `e(name)'"'
 19.     local mlabels `"`mlabels' "`t'""'
 20. }
(est1 stored)
(est2 stored)
(est3 stored)
(est4 stored)
r; t=0.03 14:23:06

. 
. * ---------- PRINT ----------
. esttab `models', ///
>     mtitle(`mlabels') ///
>     eqlabels(" ") /// ///
>     keep(1.treat 2.treat 3.treat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.treat "T1: Civic rights" ///
>                2.treat "T2: General terrorism" ///
>                3.treat "T3: Burkina Faso") ///
>     stats(N r2 covars cmean cmin cmax, fmt(0 3 0 3 3 3) ///
>           labels("Observations" "R^2" "Covariates" "Control Mean" "Min" "Max")) ///
>     compress

----------------------------------------------------------------------------------------
                              (1)               (2)               (3)               (4) 
                    Strong leader     Military rule    One-party rule       Sharia rule 
----------------------------------------------------------------------------------------
T1: Civic rights            0.027             0.035*            0.060*            0.023 
                   [-0.021,0.075]     [0.001,0.069]     [0.011,0.109]    [-0.023,0.069] 

T2: General te~m            0.029             0.029             0.074*            0.031 
                   [-0.019,0.077]    [-0.005,0.063]     [0.024,0.123]    [-0.015,0.078] 

T3: Burkina Faso            0.020             0.007             0.016             0.017 
                   [-0.028,0.069]    [-0.027,0.042]    [-0.034,0.066]    [-0.030,0.063] 
----------------------------------------------------------------------------------------
Observations                 1620              1665              1616              1586 
R^2                         0.180             0.265             0.133             0.219 
Covariates                    Yes               Yes               Yes               Yes 
Control Mean                0.403             0.229             0.562             0.652 
Min                         0.000             0.000             0.000             0.000 
Max                         1.000             1.000             1.000             1.000 
----------------------------------------------------------------------------------------
r; t=0.06 14:23:06

. 
. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:23:06

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:23:06
r; t=0.00 14:23:06

. 
. esttab `models' using "`tdir'TableJ1_itemlevel_authoritarianism.csv", replace ///
>     mtitle(`mlabels') ///
>     eqlabels(none) ///
>     keep(1.treat 2.treat 3.treat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.treat "T1: Civic rights" ///
>                2.treat "T2: General terrorism" ///
>                3.treat "T3: Burkina Faso") ///
>     stats(N r2 covars cmean cmin cmax, ///
>           fmt(0 3 0 3 3 3) ///
>           labels("Observations" "R^2" "Covariates" "Control Mean" "Min" "Max")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/TableJ1_itemlevel_authoritarianism.csv)
r; t=0.08 14:23:07

.         
. ////////////////////////////////////////////////////    
> // Secondary outcomes
. ////////////////////////////////////////////////////    
> 
. **--------------------------------
. * Table K1 (Table 16): All Treatment vs Placebo (secondary outcomes)
. **--------------------------------
. capture erase "${table}/pooled2_screen.tex"
r; t=0.00 14:23:07

. capture erase "${table}/pooled2_screen.csv"
r; t=0.00 14:23:07

. estimates clear
r; t=0.00 14:23:07

. eststo clear
r; t=0.00 14:23:07

. 
. cap which esttab
r; t=0.00 14:23:07

. if _rc ssc install estout, replace
r; t=0.00 14:23:07

. 
. local models
r; t=0.00 14:23:07

. local mlabels
r; t=0.00 14:23:07

. 
. foreach k of varlist $zoutcome2 {
  2. 
.   // Short DV titles (fits console)
.     local short_title ""
  3.     if "`k'"=="zpriority_cohesion" local short_title "Priority: Cohesion"
  4.     if "`k'"=="zpriority_job"    local short_title "Priority: Jobs"
  5.     if "`k'"=="zpriority_weapon"  local short_title "Priority: Weapons"
  6.     if "`k'"=="zpost_security"  local short_title "Security Support"
  7.     if `"`short_title'"'=="" {
  8.         local short_title : variable label `k'
  9.         if `"`short_title'"'=="" local short_title "`k'"
 10.     }
 11. 
.     * OLS with placebo as base (0), full controls
.    qui  reg `k' ib0.alltreat $controls 
 12. 
.     * Control mean on estimation sample (placebo group)
.     quietly summarize `k' if e(sample) & alltreat==0
 13.     local m = r(mean)
 14. 
.     * Footer stats for esttab
.     qui estadd scalar cmean = `m'
 15.     qui estadd local  pretreat "Yes"
 16. 
.     eststo
 17.     local models `"`models' `e(name)'"'
 18.     local mlabels `"`mlabels' "`short_title'""'
 19. }
(est1 stored)
(est2 stored)
(est3 stored)
(est4 stored)
r; t=0.02 14:23:07

. 
. * --------- PRINT to Results window ----------
. esttab `models', ///
>     mtitle(`mlabels') ///
>     keep(1.alltreat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.alltreat "Pooled treatment") ///
>     stats(N r2 pretreat cmean, ///
>           fmt(0 3 0 3) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean")) ///
>     compress

----------------------------------------------------------------------------------------
                              (1)               (2)               (3)               (4) 
                 Priority: Cohe~n    Priority: Jobs  Priority: Weap~s  Security Support 
----------------------------------------------------------------------------------------
Pooled treatment            0.003             0.011            -0.002            -0.019 
                   [-0.016,0.023]    [-0.017,0.038]    [-0.030,0.026]    [-0.038,0.001] 
----------------------------------------------------------------------------------------
Observations                 1414              1390              1385              1834 
R^2                         0.026             0.038             0.049             0.046 
Pre-treatment                 Yes               Yes               Yes               Yes 
Control Mean                0.145             0.370             0.382             0.904 
----------------------------------------------------------------------------------------
r; t=0.06 14:23:07

. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:23:07

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:23:07
r; t=0.00 14:23:07

. 
. esttab `models' using "`tdir'TableK1_secondary_pooled_treat_vs_placebo.csv", replace ///
>     mtitle(`mlabels') ///
>     keep(1.alltreat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.alltreat "Pooled treatment") ///
>     stats(N r2 pretreat cmean, ///
>           fmt(0 3 0 3) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/TableK1_secondary_pooled_treat_vs_placebo.csv)
r; t=0.07 14:23:07

. 
. *------------------------------------
. *Table K2 (Table 17): Comparing Treatment Groups versus Placebo 
. *------------------------------------
. capture erase "${table}/cate_treat2_screen.tex"
r; t=0.00 14:23:07

. capture erase "${table}/cate_treat2_screen.csv"
r; t=0.00 14:23:07

. estimates clear
r; t=0.00 14:23:07

. eststo clear
r; t=0.00 14:23:07

. 
. cap which esttab
r; t=0.00 14:23:07

. if _rc ssc install estout, replace
r; t=0.00 14:23:07

. 
. local models
r; t=0.00 14:23:07

. local mlabels
r; t=0.00 14:23:07

. 
. foreach k of varlist $zoutcome2 {
  2. 
.   // Short DV titles (fits console)
.     local short_title ""
  3.     if "`k'"=="zpriority_cohesion" local short_title "Priority: Cohesion"
  4.     if "`k'"=="zpriority_job"    local short_title "Priority: Jobs"
  5.     if "`k'"=="zpriority_weapon"  local short_title "Priority: Weapons"
  6.     if "`k'"=="zpost_security"  local short_title "Security Support"
  7.     if `"`short_title'"'=="" {
  8.         local short_title : variable label `k'
  9.         if `"`short_title'"'=="" local short_title "`k'"
 10.     }
 11. 
.     * OLS with placebo (0) as base; full controls
.     qui reg `k' ib0.treat $controls 
 12. 
.     * Control Mean using estimation-sample placebo group
.     quietly summarize `k' if e(sample) & treat==0
 13.     local m = r(mean)
 14. 
.     * Joint equality: T1 = T2 = T3  (correct syntax)
.     qui test (_b[1.treat] = _b[2.treat]) (_b[1.treat] = _b[3.treat])
 15.     local p_all = r(p)
 16. 
.     * Footer stats for esttab
.     qui estadd scalar cmean   = `m'
 17.     qui estadd scalar p_all   = `p_all'
 18.     qui estadd local  pretreat "Yes"
 19. 
.     eststo
 20.     local models  `"`models' `e(name)'"'
 21.     local mlabels `"`mlabels' "`short_title'""'
 22. }
(est1 stored)
(est2 stored)
(est3 stored)
(est4 stored)
r; t=0.03 14:23:07

. 
. * --------- PRINT to Results window (captured in .log) ----------
. esttab `models', ///
>     mtitle(`mlabels') ///
>     keep(1.treat 2.treat 3.treat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.treat "T1: Civic rights" ///
>                2.treat "T2: General terrorism" ///
>                3.treat "T3: Burkina Faso") ///
>     stats(N r2 pretreat cmean p_all, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean" "All equal (p-val.)")) ///
>     compress

----------------------------------------------------------------------------------------
                              (1)               (2)               (3)               (4) 
                 Priority: Cohe~n    Priority: Jobs  Priority: Weap~s  Security Support 
----------------------------------------------------------------------------------------
T1: Civic rights           -0.001             0.005            -0.002            -0.012 
                   [-0.025,0.022]    [-0.029,0.038]    [-0.036,0.032]    [-0.036,0.012] 

T2: General te~m            0.011             0.008            -0.006            -0.023 
                   [-0.013,0.035]    [-0.026,0.042]    [-0.041,0.028]    [-0.047,0.001] 

T3: Burkina Faso            0.001             0.020             0.001            -0.022 
                   [-0.023,0.024]    [-0.014,0.054]    [-0.034,0.036]    [-0.046,0.002] 
----------------------------------------------------------------------------------------
Observations                 1414              1390              1385              1834 
R^2                         0.027             0.039             0.049             0.046 
Pre-treatment                 Yes               Yes               Yes               Yes 
Control Mean                0.145             0.370             0.382             0.904 
All equal..)               0.5309            0.6682            0.9143            0.6105 
----------------------------------------------------------------------------------------
r; t=0.06 14:23:07

. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:23:07

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:23:07
r; t=0.00 14:23:07

. 
. esttab `models' using "`tdir'TableK2_secondary_compare_treatments_vs_placebo.csv", replace ///
>     mtitle(`mlabels') ///
>     keep(1.treat 2.treat 3.treat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.treat "T1: Civic rights" ///
>                2.treat "T2: General terrorism" ///
>                3.treat "T3: Burkina Faso") ///
>     stats(N r2 pretreat cmean p_all, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean" "All equal (p-val.)")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/TableK2_secondary_compare_treatments_vs_placebo.csv)
r; t=0.09 14:23:07

. 
. //////////////////////////////////////////////////////  
> // Constant observations across outcomes
. //////////////////////////////////////////////////////
> *------------------------------
. ** Table L1 (Table 18): Treatment Effects: All Treatment versus Placebo
. *-------------------------------
. gen missing = 0
r; t=0.00 14:23:07

. replace missing=1 if zterrorism_regime!=. & zgendemoc_post!=. & zauth_support!=. & zdemoc_policy!=. & zdonation!=. & z
> demonstrat_democracy!=. & female!=. & age!=.& reli_new!=. & ethnicity_new!=. & educ_new!=. & vote_intent!=. & polint!=
> . & gendemoc_pre!=.
(1,584 real changes made)
r; t=0.00 14:23:07

. 
. capture erase "${table}/n_pooled_screen.tex"
r; t=0.00 14:23:07

. capture erase "${table}/n_pooled_screen.csv"
r; t=0.00 14:23:07

. estimates clear
r; t=0.00 14:23:07

. eststo clear
r; t=0.00 14:23:07

. 
. cap which esttab
r; t=0.00 14:23:07

. if _rc ssc install estout, replace
r; t=0.00 14:23:07

. 
. local models
r; t=0.00 14:23:07

. local mlabels
r; t=0.00 14:23:07

. 
. foreach k of varlist $zoutcome1 {
  2. 
.     // Short, readable column title (custom map -> var label -> var name)
.     local short_title ""
  3.     if ("`k'"=="zterrorism_regime")         local short_title "Dem. adv."
  4.     if ("`k'"=="zgendemoc_post")            local short_title "Dem. pref."
  5.     if ("`k'"=="zauth_support")             local short_title "Reject auth."
  6.     if ("`k'"=="zdemoc_policy")             local short_title "Vote dem. cand."
  7.     if ("`k'"=="zdonation")                 local short_title "Donate NGO"
  8.     if ("`k'"=="zdemonstrat_democracy")     local short_title "Attend protest"
  9.     if `"`short_title'"'=="" {
 10.         local short_title : variable label `k'
 11.         if `"`short_title'"'=="" local short_title "`k'"
 12.     }
 13. 
.     // OLS with placebo as base (0), restricted sample
.     reg `k' ib0.alltreat $controls if missing==1 
 14. 
.     // Control Mean from the SAME estimation sample control group
.     quietly summarize `k' if e(sample) & alltreat==0
 15.     local m = r(mean)
 16. 
.     // Add footer stats
.     qui estadd scalar cmean = `m'
 17.     qui estadd local  pretreat "Yes"
 18. 
.     // Store & collect column title
.     eststo
 19.     local models  `"`models' `e(name)'"'
 20.     local mlabels `"`mlabels' "`short_title'""'
 21. }

      Source |       SS           df       MS      Number of obs   =     1,542
-------------+----------------------------------   F(17, 1524)     =     57.48
       Model |  67.2402916        17  3.95531127   Prob > F        =    0.0000
    Residual |  104.865108     1,524  .068809126   R-squared       =    0.3907
-------------+----------------------------------   Adj R-squared   =    0.3839
       Total |  172.105399     1,541  .111684231   Root MSE        =    .26231

--------------------------------------------------------------------------------
zterrorism_r~e | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
---------------+----------------------------------------------------------------
    1.alltreat |   .0464055   .0154502     3.00   0.003     .0160995    .0767115
        female |   .0870718   .0146941     5.93   0.000      .058249    .1158946
           age |  -.0033948   .0005743    -5.91   0.000    -.0045213   -.0022683
               |
      reli_new |
     Catholic  |  -.0066508   .0162905    -0.41   0.683     -.038605    .0253035
   protestant  |  -.0411337   .0199636    -2.06   0.040    -.0802928   -.0019746
       others  |   -.022593   .0256251    -0.88   0.378    -.0728572    .0276713
               |
 ethnicity_new |
         Fula  |  -.0303337   .0358718    -0.85   0.398     -.100697    .0400295
         Bobo  |   .0296114   .0334239     0.89   0.376    -.0359502     .095173
        Gurma  |   .0415556    .030097     1.38   0.168    -.0174804    .1005916
      Gurunsi  |    .029714   .0283651     1.05   0.295    -.0259247    .0853528
        Other  |   .0375563   .0158995     2.36   0.018     .0063691    .0687436
               |
      educ_new |
Below primary  |   .0857913   .0651666     1.32   0.188    -.0420345    .2136171
      Primary  |   .1306379   .0187188     6.98   0.000     .0939205    .1673552
    Secondary  |   .0551422   .0156524     3.52   0.000     .0244398    .0858446
               |
   vote_intent |   -.012658   .0030729    -4.12   0.000    -.0186856   -.0066305
        polint |   .0040288   .0069879     0.58   0.564    -.0096782    .0177358
  gendemoc_pre |   .0592079   .0022853    25.91   0.000     .0547253    .0636906
         _cons |   .2877896   .0431971     6.66   0.000     .2030576    .3725215
--------------------------------------------------------------------------------
(est1 stored)

      Source |       SS           df       MS      Number of obs   =     1,542
-------------+----------------------------------   F(17, 1524)     =     97.55
       Model |  69.5395678        17  4.09056281   Prob > F        =    0.0000
    Residual |  63.9054428     1,524  .041932705   R-squared       =    0.5211
-------------+----------------------------------   Adj R-squared   =    0.5158
       Total |  133.445011     1,541  .086596373   Root MSE        =    .20477

--------------------------------------------------------------------------------
zgendemoc_post | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
---------------+----------------------------------------------------------------
    1.alltreat |     .02915   .0120612     2.42   0.016     .0054918    .0528082
        female |   .0323529   .0114709     2.82   0.005     .0098526    .0548533
           age |   -.001273   .0004483    -2.84   0.005    -.0021524   -.0003936
               |
      reli_new |
     Catholic  |   -.025612   .0127171    -2.01   0.044    -.0505569   -.0006671
   protestant  |  -.0247825   .0155845    -1.59   0.112    -.0553519    .0057869
       others  |  -.0389244   .0200041    -1.95   0.052    -.0781629    .0003141
               |
 ethnicity_new |
         Fula  |  -.0255455   .0280031    -0.91   0.362    -.0804741    .0293832
         Bobo  |   .0203413   .0260922     0.78   0.436     -.030839    .0715216
        Gurma  |  -.0266183   .0234951    -1.13   0.257    -.0727044    .0194679
      Gurunsi  |   .0362678    .022143     1.64   0.102    -.0071662    .0797019
        Other  |   .0090992   .0124119     0.73   0.464     -.015247    .0334454
               |
      educ_new |
Below primary  |    .020127    .050872     0.40   0.692    -.0796596    .1199135
      Primary  |   .0348235   .0146127     2.38   0.017     .0061603    .0634867
    Secondary  |   .0312432   .0122189     2.56   0.011     .0072755    .0552109
               |
   vote_intent |  -.0037729   .0023988    -1.57   0.116    -.0084782    .0009325
        polint |   .0051445   .0054551     0.94   0.346    -.0055558    .0158447
  gendemoc_pre |   .0670879    .001784    37.61   0.000     .0635886    .0705873
         _cons |   .3048455   .0337216     9.04   0.000     .2386999     .370991
--------------------------------------------------------------------------------
(est2 stored)

      Source |       SS           df       MS      Number of obs   =     1,542
-------------+----------------------------------   F(17, 1524)     =     31.33
       Model |  31.7942546        17  1.87025027   Prob > F        =    0.0000
    Residual |  90.9764116     1,524  .059695808   R-squared       =    0.2590
-------------+----------------------------------   Adj R-squared   =    0.2507
       Total |  122.770666     1,541  .079669478   Root MSE        =    .24433

--------------------------------------------------------------------------------
 zauth_support | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
---------------+----------------------------------------------------------------
    1.alltreat |   .0399877   .0143908     2.78   0.006     .0117599    .0682156
        female |  -.0024741   .0136865    -0.18   0.857    -.0293205    .0243723
           age |   .0054426   .0005349    10.17   0.000     .0043934    .0064919
               |
      reli_new |
     Catholic  |    .017053   .0151735     1.12   0.261    -.0127101    .0468161
   protestant  |   .0507123   .0185947     2.73   0.006     .0142384    .0871862
       others  |   .0321941   .0238679     1.35   0.178    -.0146234    .0790116
               |
 ethnicity_new |
         Fula  |   .0048168   .0334119     0.14   0.885    -.0607214    .0703551
         Bobo  |   .0419068   .0311319     1.35   0.178     -.019159    .1029727
        Gurma  |  -.0683602   .0280332    -2.44   0.015     -.123348   -.0133725
      Gurunsi  |   .0124239     .02642     0.47   0.638    -.0393995    .0642473
        Other  |   .0013396   .0148093     0.09   0.928     -.027709    .0303883
               |
      educ_new |
Below primary  |  -.2488076    .060698    -4.10   0.000     -.367868   -.1297472
      Primary  |  -.2079538   .0174352   -11.93   0.000    -.2421533   -.1737543
    Secondary  |  -.0989556    .014579    -6.79   0.000    -.1275527   -.0703585
               |
   vote_intent |   -.029151   .0028622   -10.18   0.000    -.0347651   -.0235368
        polint |   .0276882   .0065087     4.25   0.000     .0149211    .0404552
  gendemoc_pre |   .0077197   .0021286     3.63   0.000     .0035445    .0118949
         _cons |   .4999736   .0402349    12.43   0.000     .4210519    .5788952
--------------------------------------------------------------------------------
(est3 stored)

      Source |       SS           df       MS      Number of obs   =     1,542
-------------+----------------------------------   F(17, 1524)     =      3.80
       Model |  9.12601158        17  .536824211   Prob > F        =    0.0000
    Residual |  215.054565     1,524  .141111919   R-squared       =    0.0407
-------------+----------------------------------   Adj R-squared   =    0.0300
       Total |  224.180577     1,541  .145477337   Root MSE        =    .37565

--------------------------------------------------------------------------------
 zdemoc_policy | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
---------------+----------------------------------------------------------------
    1.alltreat |   .0362141   .0221256     1.64   0.102    -.0071856    .0796139
        female |   .0094213   .0210427     0.45   0.654    -.0318545    .0506971
           age |   .0013457   .0008224     1.64   0.102    -.0002676    .0029589
               |
      reli_new |
     Catholic  |  -.0450303   .0233289    -1.93   0.054    -.0907905    .0007299
   protestant  |   .0664541    .028589     2.32   0.020     .0103762     .122532
       others  |   .0259226   .0366965     0.71   0.480    -.0460585    .0979036
               |
 ethnicity_new |
         Fula  |   .0082907   .0513702     0.16   0.872    -.0924732    .1090545
         Bobo  |   -.010415   .0478647    -0.22   0.828    -.1043027    .0834726
        Gurma  |   .0276687   .0431005     0.64   0.521    -.0568739    .1122113
      Gurunsi  |  -.0386627   .0406203    -0.95   0.341    -.1183403    .0410148
        Other  |   .0110216    .022769     0.48   0.628    -.0336402    .0556834
               |
      educ_new |
Below primary  |  -.0407413    .093322    -0.44   0.662    -.2237945    .1423119
      Primary  |  -.0891195   .0268063    -3.32   0.001    -.1417007   -.0365384
    Secondary  |  -.0496502    .022415    -2.22   0.027    -.0936177   -.0056827
               |
   vote_intent |  -.0174002   .0044005    -3.95   0.000    -.0260319   -.0087685
        polint |   .0189214   .0100071     1.89   0.059    -.0007077    .0385505
  gendemoc_pre |  -.0047928   .0032726    -1.46   0.143    -.0112122    .0016265
         _cons |   .4546777   .0618604     7.35   0.000     .3333371    .5760183
--------------------------------------------------------------------------------
(est4 stored)

      Source |       SS           df       MS      Number of obs   =     1,542
-------------+----------------------------------   F(17, 1524)     =     10.05
       Model |  10.2437659        17  .602574465   Prob > F        =    0.0000
    Residual |  91.3402253     1,524  .059934531   R-squared       =    0.1008
-------------+----------------------------------   Adj R-squared   =    0.0908
       Total |  101.583991     1,541  .065920825   Root MSE        =    .24482

--------------------------------------------------------------------------------
     zdonation | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
---------------+----------------------------------------------------------------
    1.alltreat |   .0146708   .0144195     1.02   0.309    -.0136135     .042955
        female |  -.0324699   .0137138    -2.37   0.018    -.0593699   -.0055699
           age |  -.0019866    .000536    -3.71   0.000     -.003038   -.0009353
               |
      reli_new |
     Catholic  |   .0051069   .0152038     0.34   0.737    -.0247156    .0349294
   protestant  |  -.0278376   .0186318    -1.49   0.135    -.0643844    .0087091
       others  |  -.0355239   .0239156    -1.49   0.138    -.0824349    .0113871
               |
 ethnicity_new |
         Fula  |   .0403942   .0334787     1.21   0.228    -.0252749    .1060634
         Bobo  |   .0177357   .0311941     0.57   0.570    -.0434521    .0789236
        Gurma  |  -.0016648   .0280892    -0.06   0.953    -.0567624    .0534327
      Gurunsi  |   .0293939   .0264728     1.11   0.267     -.022533    .0813209
        Other  |   .0000531   .0148388     0.00   0.997    -.0290536    .0291598
               |
      educ_new |
Below primary  |   .1738945   .0608192     2.86   0.004     .0545963    .2931928
      Primary  |    .133236     .01747     7.63   0.000     .0989681    .1675038
    Secondary  |   .0546962   .0146081     3.74   0.000      .026042    .0833504
               |
   vote_intent |   -.002416   .0028679    -0.84   0.400    -.0080414    .0032094
        polint |   .0019046   .0065218     0.29   0.770    -.0108879    .0146972
  gendemoc_pre |   .0166574   .0021328     7.81   0.000     .0124738    .0208409
         _cons |   .2500365   .0403153     6.20   0.000     .1709572    .3291158
--------------------------------------------------------------------------------
(est5 stored)

      Source |       SS           df       MS      Number of obs   =     1,542
-------------+----------------------------------   F(17, 1524)     =     39.81
       Model |  54.2704121        17  3.19237718   Prob > F        =    0.0000
    Residual |  122.195111     1,524  .080180519   R-squared       =    0.3075
-------------+----------------------------------   Adj R-squared   =    0.2998
       Total |  176.465523     1,541  .114513642   Root MSE        =    .28316

--------------------------------------------------------------------------------
zdemonstrat_~y | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
---------------+----------------------------------------------------------------
    1.alltreat |    .020612   .0166781     1.24   0.217    -.0121024    .0533265
        female |   .0183471   .0158619     1.16   0.248    -.0127663    .0494606
           age |   -.001844   .0006199    -2.97   0.003    -.0030601    -.000628
               |
      reli_new |
     Catholic  |  -.0342214   .0175852    -1.95   0.052    -.0687151    .0002724
   protestant  |  -.0463748   .0215502    -2.15   0.032     -.088646   -.0041036
       others  |  -.0114223   .0276616    -0.41   0.680    -.0656812    .0428365
               |
 ethnicity_new |
         Fula  |  -.0379112   .0387226    -0.98   0.328    -.1138663     .038044
         Bobo  |   .0198215   .0360801     0.55   0.583    -.0509504    .0905935
        Gurma  |  -.0143103   .0324889    -0.44   0.660     -.078038    .0494174
      Gurunsi  |   .0809173   .0306193     2.64   0.008     .0208569    .1409777
        Other  |   .0133669   .0171631     0.78   0.436    -.0202989    .0470327
               |
      educ_new |
Below primary  |   .0429391   .0703456     0.61   0.542    -.0950453    .1809235
      Primary  |   .0891618   .0202064     4.41   0.000     .0495265    .1287972
    Secondary  |   .0317354   .0168963     1.88   0.061     -.001407    .0648778
               |
   vote_intent |   .0019218   .0033171     0.58   0.562    -.0045847    .0084283
        polint |   .0348586   .0075433     4.62   0.000     .0200623    .0496549
  gendemoc_pre |   .0560339   .0024669    22.71   0.000      .051195    .0608727
         _cons |   .1344915     .04663     2.88   0.004     .0430257    .2259573
--------------------------------------------------------------------------------
(est6 stored)
r; t=0.10 14:23:07

. 
. * --------- PRINT to Results window (captured in your .log) ----------
. esttab `models', ///
>     mtitle(`mlabels') ///
>     keep(1.alltreat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.alltreat "Pooled treatment") ///
>     stats(N r2 pretreat cmean, ///
>           fmt(0 3 0 3) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean")) ///
>     compress

------------------------------------------------------------------------------------------------------------------------
> ----
                              (1)               (2)               (3)               (4)               (5)               
> (6) 
                        Dem. adv.        Dem. pref.      Reject auth.   Vote dem. cand.        Donate NGO    Attend prot
> est 
------------------------------------------------------------------------------------------------------------------------
> ----
Pooled treatment            0.046*            0.029*            0.040*            0.036             0.015             0.
> 021 
                    [0.016,0.077]     [0.005,0.053]     [0.012,0.068]    [-0.007,0.080]    [-0.014,0.043]    [-0.012,0.0
> 53] 
------------------------------------------------------------------------------------------------------------------------
> ----
Observations                 1542              1542              1542              1542              1542              1
> 542 
R^2                         0.391             0.521             0.259             0.041             0.101             0.
> 308 
Pre-treatment                 Yes               Yes               Yes               Yes               Yes               
> Yes 
Control Mean                0.560             0.716             0.449             0.311             0.317             0.
> 561 
------------------------------------------------------------------------------------------------------------------------
> ----
r; t=0.06 14:23:07

. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:23:07

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:23:07
r; t=0.00 14:23:07

. 
. esttab `models' using "`tdir'TableL1_pooled_restricted_completecases.csv", replace ///
>     mtitle(`mlabels') ///
>     keep(1.alltreat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.alltreat "Pooled treatment") ///
>     stats(N r2 pretreat cmean, ///
>           fmt(0 3 0 3) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/TableL1_pooled_restricted_completecases.csv)
r; t=0.07 14:23:07

. 
. *-----------------------------
. * Table L1 (Table 19): Comparing Treatment Groups vs Placebo (missing==1)
. *-----------------------------
. capture erase "${table}/n_cate_treat_screen.tex"
r; t=0.00 14:23:07

. capture erase "${table}/n_cate_treat_screen.csv"
r; t=0.00 14:23:07

. estimates clear
r; t=0.00 14:23:07

. eststo clear
r; t=0.00 14:23:07

. 
. cap which esttab
r; t=0.00 14:23:07

. if _rc ssc install estout, replace
r; t=0.00 14:23:07

. 
. local models
r; t=0.00 14:23:07

. local mlabels
r; t=0.00 14:23:07

. 
. foreach k of varlist $zoutcome1 {
  2. 
.     * Column title (custom map -> var label -> var name)
.     local short_title ""
  3.     if ("`k'"=="zterrorism_regime")         local short_title "Dem. adv."
  4.     if ("`k'"=="zgendemoc_post")            local short_title "Dem. pref."
  5.     if ("`k'"=="zauth_support")             local short_title "Reject auth."
  6.     if ("`k'"=="zdemoc_policy")             local short_title "Vote dem. cand."
  7.     if ("`k'"=="zdonation")                 local short_title "Donate NGO"
  8.     if ("`k'"=="zdemonstrat_democracy")     local short_title "Attend protest"
  9.     if `"`short_title'"'=="" {
 10.         local short_title : variable label `k'
 11.         if `"`short_title'"'=="" local short_title "`k'"
 12.     }
 13. 
.     * OLS with placebo base (0); restricted sample
.     qui reg `k' ib0.treat $controls if missing==1 
 14. 
.     * Control Mean on the SAME estimation-sample placebo group
.     quietly summarize `k' if e(sample) & treat==0
 15.     local m = r(mean)
 16. 
.     * Joint equality: T1 = T2 = T3
.     qui test (_b[1.treat] = _b[2.treat]) (_b[1.treat] = _b[3.treat])
 17.     local p_all = r(p)
 18. 
.     * Footer stats
.     qui estadd scalar cmean   = `m'
 19.     qui estadd scalar p_all   = `p_all'
 20.     qui estadd local  covars  "yes"
 21. 
.     eststo
 22.     local models  `"`models' `e(name)'"'
 23.     local mlabels `"`mlabels' "`short_title'""'
 24. }
(est1 stored)
(est2 stored)
(est3 stored)
(est4 stored)
(est5 stored)
(est6 stored)
r; t=0.04 14:23:07

. 
. * --------- PRINT to Results window (captured in .log) ----------
. esttab `models', ///
>     mtitle(`mlabels') ///
>     keep(1.treat 2.treat 3.treat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.treat "T1: Civic rights" ///
>                2.treat "T2: General terrorism" ///
>                3.treat "T3: Burkina Faso") ///
>     stats(N r2 covars cmean p_all, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Covariates" "Control Mean" "All equal (p-val.)")) ///
>     compress

------------------------------------------------------------------------------------------------------------------------
> ----
                              (1)               (2)               (3)               (4)               (5)               
> (6) 
                        Dem. adv.        Dem. pref.      Reject auth.   Vote dem. cand.        Donate NGO    Attend prot
> est 
------------------------------------------------------------------------------------------------------------------------
> ----
T1: Civic rights            0.020             0.044*            0.046*            0.033             0.018             0.
> 014 
                   [-0.017,0.057]     [0.015,0.073]     [0.012,0.081]    [-0.020,0.086]    [-0.016,0.053]    [-0.026,0.0
> 54] 

T2: General te~m            0.087*            0.029*            0.048*            0.049             0.011             0.
> 051*
                    [0.049,0.124]     [0.000,0.058]     [0.013,0.083]    [-0.004,0.102]    [-0.024,0.046]     [0.010,0.0
> 91] 

T3: Burkina Faso            0.034             0.013             0.025             0.027             0.015            -0.
> 003 
                   [-0.004,0.071]    [-0.016,0.043]    [-0.010,0.060]    [-0.027,0.080]    [-0.020,0.050]    [-0.043,0.0
> 38] 
------------------------------------------------------------------------------------------------------------------------
> ----
Observations                 1542              1542              1542              1542              1542              1
> 542 
R^2                         0.396             0.522             0.260             0.041             0.101             0.
> 311 
Covariates                    yes               yes               yes               yes               yes               
> yes 
Control Mean                0.560             0.716             0.449             0.311             0.317             0.
> 561 
All equal..)               0.0010            0.1199            0.3681            0.7023            0.9212            0.0
> 309 
------------------------------------------------------------------------------------------------------------------------
> ----
r; t=0.08 14:23:07

. 
. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:23:07

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:23:07
r; t=0.00 14:23:07

. 
. esttab `models' using "`tdir'TableL2_compare_treatments_missing1.csv", replace ///
>     mtitle(`mlabels') ///
>     keep(1.treat 2.treat 3.treat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.treat "T1: Civic rights" ///
>                2.treat "T2: General terrorism" ///
>                3.treat "T3: Burkina Faso") ///
>     stats(N r2 covars cmean p_all, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Covariates" "Control Mean" "All equal (p-val.)")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/TableL2_compare_treatments_missing1.csv)
r; t=0.09 14:23:07

.                         
. **-------------- Post video manipulation check ------------------
. * Table M1 (Table 20): Treatment Effects — All Treatment Groups vs Placebo
. **--------------------------------
. capture erase "${table}/outc2_screen.tex"
r; t=0.00 14:23:07

. capture erase "${table}/outc2_screen.csv"
r; t=0.00 14:23:07

. estimates clear
r; t=0.00 14:23:07

. eststo clear
r; t=0.00 14:23:07

. 
. cap which esttab
r; t=0.00 14:23:07

. if _rc ssc install estout, replace
r; t=0.00 14:23:07

. 
. local models
r; t=0.00 14:23:07

. local mlabels
r; t=0.00 14:23:07

. 
. foreach k of varlist $zoutc_video {
  2. 
.   // Short DV titles (fits console)
.     local short_title ""
  3.     if "`k'"=="zvideo_infos_1" local short_title "Video info"
  4.     if "`k'"=="zvideo_vicarious"    local short_title "Country vision"
  5.     if "`k'"=="zvideo_social"  local short_title "Video sharing"
  6.   
.     if `"`short_title'"'=="" {
  7.         local short_title : variable label `k'
  8.         if `"`short_title'"'=="" local short_title "`k'"
  9.     }
 10. 
.     * OLS (placebo=base), full controls
.     qui reg `k' ib0.treat $controls 
 11. 
.     * Control Mean on estimation-sample placebo group
.     quietly summarize `k' if e(sample) & treat==0
 12.     local m = r(mean)
 13. 
.     * Joint equality: T1 = T2 = T3
.     qui test (_b[1.treat]=_b[2.treat]) (_b[1.treat]=_b[3.treat])
 14.     local p_all = r(p)
 15. 
.     * Footer stats
.     qui estadd scalar cmean = `m'
 16.     qui estadd scalar p_all = `p_all'
 17.     qui estadd local  pretreat "yes"
 18. 
.     eststo
 19.     local models  `"`models' `e(name)'"'
 20.     local mlabels `"`mlabels' "`short_title'""'
 21. }
(est1 stored)
(est2 stored)
(est3 stored)
r; t=0.02 14:23:07

. 
. * --------- PRINT to Results window (captured in your .log) ----------
. esttab `models', ///
>     mtitle(`mlabels') ///
>     keep(1.treat 2.treat 3.treat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.treat "T1: Civic rights" ///
>                2.treat "T2: General terrorism" ///
>                3.treat "T3: Burkina Faso") ///
>     stats(N r2 pretreat cmean p_all, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean" "All equal (p-val.)")) ///
>     compress

----------------------------------------------------------------------
                              (1)               (2)               (3) 
                       Video info    Country vision     Video sharing 
----------------------------------------------------------------------
T1: Civic rights           -0.028            -0.046*           -0.039*
                   [-0.057,0.001]   [-0.080,-0.012]   [-0.072,-0.006] 

T2: General te~m           -0.061*           -0.052*           -0.047*
                  [-0.090,-0.031]   [-0.086,-0.017]   [-0.080,-0.013] 

T3: Burkina Faso           -0.121*           -0.117*           -0.119*
                  [-0.150,-0.091]   [-0.152,-0.083]   [-0.152,-0.085] 
----------------------------------------------------------------------
Observations                 1881              1878              1880 
R^2                         0.204             0.206             0.214 
Pre-treatment                 yes               yes               yes 
Control Mean                0.853             0.724             0.785 
All equal..)               0.0000            0.0000            0.0000 
----------------------------------------------------------------------
r; t=0.08 14:23:08

. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:23:08

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:23:08
r; t=0.00 14:23:08

. 
. esttab `models' using "`tdir'TableM1_postvideo_manipulation_alltreat_vs_placebo.csv", replace ///
>     mtitle(`mlabels') ///
>     keep(1.treat 2.treat 3.treat) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.treat "T1: Civic rights" ///
>                2.treat "T2: General terrorism" ///
>                3.treat "T3: Burkina Faso") ///
>     stats(N r2 pretreat cmean p_all, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean" "All equal (p-val.)")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/TableM1_postvideo_manipulation_alltreat_vs_placebo.csv)
r; t=0.07 14:23:08

.                 
. // Heterogenous treatment effects
. 
. **--------------------------------
. * Table M2 (Table 21): Treatment Effects: Pooled treatment versus Placebo
. *Interaction with political interest: Removing political interest in the controls
. global control female age ib1.reli_new ib1.ethnicity_new ib4.educ_new vote_intent  gendemoc_pre
r; t=0.00 14:23:08

. 
. *---------------------------------
. * Pooled treatment × political interest (prints to Results)
. *---------------------------------
. capture erase "${table}/pooled_outc_screen.tex"
r; t=0.00 14:23:08

. estimates clear
r; t=0.00 14:23:08

. eststo clear
r; t=0.00 14:23:08

. 
. cap which esttab
r; t=0.00 14:23:08

. if _rc ssc install estout, replace
r; t=0.00 14:23:08

. 
. local models
r; t=0.00 14:23:08

. local mlabels
r; t=0.00 14:23:08

. 
. foreach k of varlist $zoutc_video {
  2. 
.  // Short DV titles (fits console)
.     local short_title ""
  3.     if "`k'"=="zvideo_infos_1" local short_title "Video info"
  4.     if "`k'"=="zvideo_vicarious"    local short_title "Country vision"
  5.     if "`k'"=="zvideo_social"  local short_title "Video sharing"
  6.   
.     if `"`short_title'"'=="" {
  7.         local short_title : variable label `k'
  8.         if `"`short_title'"'=="" local short_title "`k'"
  9.     }
 10.     * OLS with interaction; placebo as base
.     qui reg `k' ib0.alltreat##c.polint $control 
 11. 
.     * Control mean from the same estimation sample (placebo group)
.     quietly summarize `k' if e(sample) & alltreat==0
 12.     qui estadd scalar cmean = r(mean)
 13.     qui estadd local  pretreat "yes"
 14. 
.     eststo
 15.     local models  `"`models' `e(name)'"'
 16.     local mlabels `"`mlabels' "`short_title'""'
 17. }
(est1 stored)
(est2 stored)
(est3 stored)
r; t=0.03 14:23:08

. 
. * ---- PRINT to Results window ----
. esttab `models', ///
>     mtitle(`mlabels') ///
>     keep(1.alltreat polint 1.alltreat#c.polint) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.alltreat "Pooled treatment" ///
>                polint     "Political interest" ///
>                1.alltreat#c.polint "Treat × Pol. interest") ///
>     stats(N r2 pretreat cmean, fmt(0 3 0 3) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean")) ///
>     compress

----------------------------------------------------------------------
                              (1)               (2)               (3) 
                       Video info    Country vision     Video sharing 
----------------------------------------------------------------------
Pooled treatment           -0.051*           -0.063*           -0.056*
                  [-0.097,-0.004]   [-0.117,-0.009]   [-0.109,-0.004] 

Political inte~t            0.007            -0.004             0.011 
                   [-0.014,0.028]    [-0.028,0.021]    [-0.012,0.035] 

Treat × Po.. in~t           -0.011            -0.005            -0.007 
                   [-0.035,0.013]    [-0.033,0.023]    [-0.034,0.020] 
----------------------------------------------------------------------
Observations                 1881              1878              1880 
R^2                         0.187             0.197             0.202 
Pre-treatment                 yes               yes               yes 
Control Mean                0.853             0.724             0.785 
----------------------------------------------------------------------
r; t=0.05 14:23:08

. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:23:08

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:23:08
r; t=0.00 14:23:08

. 
. esttab `models' using "`tdir'TableM2_pooled_x_polinterest_postvideo.csv", replace ///
>     mtitle(`mlabels') ///
>     keep(1.alltreat polint 1.alltreat#c.polint) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.alltreat "Pooled treatment" ///
>                polint     "Political interest" ///
>                1.alltreat#c.polint "Treat × Pol. interest") ///
>     stats(N r2 pretreat cmean, ///
>           fmt(0 3 0 3) ///
>           labels("Observations" "R^2" "Pre-treatment" "Control Mean")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/TableM2_pooled_x_polinterest_postvideo.csv)
r; t=0.07 14:23:08

. 
. *----------------------
. * Table N1 (Table 22): Pooled effect — Interaction with distance to attacks
. * Same format as other printed tables
. *----------------------
. capture erase "${table}/distance01_screen.tex"
r; t=0.00 14:23:08

. capture erase "${table}/distance01_screen.csv"
r; t=0.00 14:23:08

. estimates clear
r; t=0.00 14:23:08

. eststo clear
r; t=0.00 14:23:08

. 
. cap which esttab
r; t=0.00 14:23:08

. if _rc ssc install estout, replace
r; t=0.00 14:23:08

. 
. local models
r; t=0.00 14:23:08

. local mlabels
r; t=0.00 14:23:08

. 
. foreach k of varlist $zoutcome1 {
  2. 
.     * Short, readable column title (custom map -> var label -> var name)
.     local t ""
  3.     if ("`k'"=="zterrorism_regime")         local t "Dem. adv."
  4.     if ("`k'"=="zgendemoc_post")            local t "Dem. pref."
  5.     if ("`k'"=="zauth_support")             local t "Reject auth."
  6.     if ("`k'"=="zdemoc_policy")             local t "Vote dem. cand."
  7.     if ("`k'"=="zdonation")                 local t "Donate NGO"
  8.     if ("`k'"=="zdemonstrat_democracy")     local t "Attend protest"
  9.     if `"`t'"'=="" {
 10.         local t : variable label `k'
 11.         if `"`t'"'=="" local t "`k'"
 12.     }
 13. 
.     * OLS with explicit bases: placebo (alltreat=0) & dist_1=0
.     qui reg `k' ib0.alltreat##ib0.dist_1 $controls 
 14. 
.     * Control mean from the SAME estimation-sample placebo group
.     quietly summarize `k' if e(sample) & alltreat==0
 15.     qui estadd scalar cmean = r(mean)
 16.     qui estadd local  covars "yes"
 17. 
.     * Joint test: the whole interaction block (alltreat × dist_1)
.     qui testparm 1.alltreat##1.dist_1
 18.     qui estadd scalar p_block = r(p)
 19. 
.     eststo
 20.     local models  `"`models' `e(name)'"'
 21.     local mlabels `"`mlabels' "`t'""'
 22. }
(est1 stored)
(est2 stored)
(est3 stored)
(est4 stored)
(est5 stored)
(est6 stored)
r; t=0.06 14:23:08

. 
. * ---- PRINT to Results window (captured in .log) ----
. esttab `models', ///
>     mtitle(`mlabels') ///
>     keep(1.alltreat 1.dist_1 1.alltreat#1.dist_1) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.alltreat           "Pooled treatment" ///
>                1.dist_1             "Near attack (50km)" ///
>                1.alltreat#1.dist_1  "Treat × Near attack") ///
>     stats(N r2 covars cmean p_block, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Covariates" "Control Mean" "Block (p-val.)")) ///
>     compress

------------------------------------------------------------------------------------------------------------------------
> ----
                              (1)               (2)               (3)               (4)               (5)               
> (6) 
                        Dem. adv.        Dem. pref.      Reject auth.   Vote dem. cand.        Donate NGO    Attend prot
> est 
------------------------------------------------------------------------------------------------------------------------
> ----
Pooled treatment            0.039*            0.030*            0.049*            0.024             0.006             0.
> 006 
                    [0.000,0.078]     [0.002,0.058]     [0.015,0.084]    [-0.029,0.077]    [-0.029,0.041]    [-0.034,0.0
> 47] 

Near attack (5~)            0.028             0.012            -0.009            -0.012             0.018             0.
> 011 
                   [-0.030,0.087]    [-0.032,0.055]    [-0.061,0.044]    [-0.091,0.068]    [-0.034,0.071]    [-0.050,0.0
> 73] 

Treat × Near a~k           -0.001             0.003            -0.020            -0.012            -0.009             0.
> 004 
                   [-0.068,0.066]    [-0.046,0.053]    [-0.079,0.040]    [-0.103,0.079]    [-0.069,0.051]    [-0.066,0.0
> 75] 
------------------------------------------------------------------------------------------------------------------------
> ----
Observations                 1361              1548              1479              1500              1461              1
> 487 
R^2                         0.388             0.518             0.279             0.042             0.118             0.
> 301 
Covariates                    yes               yes               yes               yes               yes               
> yes 
Control Mean                0.559             0.713             0.452             0.322             0.321             0.
> 559 
Block (p-val.)             0.0340            0.0391            0.0079            0.6271            0.8564            0.8
> 043 
------------------------------------------------------------------------------------------------------------------------
> ----
r; t=0.08 14:23:08

. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:23:08

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:23:08
r; t=0.00 14:23:08

. 
. esttab `models' using "`tdir'TableN1_pooled_x_distance50km.csv", replace ///
>     mtitle(`mlabels') ///
>     keep(1.alltreat 1.dist_1 1.alltreat#1.dist_1) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.alltreat           "Pooled treatment" ///
>                1.dist_1             "Near attack (50km)" ///
>                1.alltreat#1.dist_1  "Treat × Near attack") ///
>     stats(N r2 covars cmean p_block, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Covariates" "Control Mean" "Block (p-val.)")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/TableN1_pooled_x_distance50km.csv)
r; t=0.09 14:23:08

. 
. *----------------------
. * Table N2 (Table 23): Pooled effect: Interaction with community safety
. *----------------------
. 
. capture erase "${table}/safe_comm_screen.tex"
r; t=0.00 14:23:08

. capture erase "${table}/safe_comm_screen.csv"
r; t=0.00 14:23:08

. estimates clear
r; t=0.00 14:23:08

. eststo clear
r; t=0.00 14:23:08

. 
. cap which esttab
r; t=0.00 14:23:08

. if _rc ssc install estout, replace
r; t=0.00 14:23:08

. 
. local models
r; t=0.00 14:23:08

. local mlabels
r; t=0.00 14:23:08

. 
. foreach k of varlist $zoutcome1 {
  2. 
.     * Short, readable column title (custom map -> var label -> var name)
.     local t ""
  3.     if ("`k'"=="zterrorism_regime")         local t "Dem. adv."
  4.     if ("`k'"=="zgendemoc_post")            local t "Dem. pref."
  5.     if ("`k'"=="zauth_support")             local t "Reject auth."
  6.     if ("`k'"=="zdemoc_policy")             local t "Vote dem. cand."
  7.     if ("`k'"=="zdonation")                 local t "Donate NGO"
  8.     if ("`k'"=="zdemonstrat_democracy")     local t "Attend protest"
  9.     if `"`t'"'=="" {
 10.         local t : variable label `k'
 11.         if `"`t'"'=="" local t "`k'"
 12.     }
 13. 
.     * OLS with explicit base for treatment; continuous moderator
.     qui reg `k' ib0.alltreat##c.safe_community $controls 
 14. 
.     * Control mean from SAME estimation-sample placebo group
.     quietly summarize `k' if e(sample) & alltreat==0
 15.     qui estadd scalar cmean = r(mean)
 16.     qui estadd local  covars "yes"
 17. 
.     * Block test for interaction
.     qui test 1.alltreat#c.safe_community
 18.     qui estadd scalar p_block = r(p)
 19. 
.     eststo
 20.     local models  `"`models' `e(name)'"'
 21.     local mlabels `"`mlabels' "`t'""'
 22. }
(est1 stored)
(est2 stored)
(est3 stored)
(est4 stored)
(est5 stored)
(est6 stored)
r; t=0.04 14:23:08

. 
. * ---- PRINT to Results window (captured in .log) ----
. esttab `models', ///
>     mtitle(`mlabels') ///
>     keep(1.alltreat safe_community 1.alltreat#c.safe_community) /// 
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.alltreat                  "Pooled treatment" ///
>                safe_community              "Community safety" ///   
>                1.alltreat#c.safe_community "Treat × Safety") ///
>     stats(N r2 covars cmean p_block, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Covariates" "Control Mean" "Block (p-val.)")) ///
>     compress

------------------------------------------------------------------------------------------------------------------------
> ----
                              (1)               (2)               (3)               (4)               (5)               
> (6) 
                        Dem. adv.        Dem. pref.      Reject auth.   Vote dem. cand.        Donate NGO    Attend prot
> est 
------------------------------------------------------------------------------------------------------------------------
> ----
Pooled treatment            0.092             0.080*            0.037             0.022             0.007            -0.
> 028 
                   [-0.003,0.186]     [0.011,0.149]    [-0.047,0.121]    [-0.104,0.149]    [-0.077,0.092]    [-0.124,0.0
> 69] 

Community safety           -0.001             0.000            -0.013*           -0.008             0.002            -0.
> 016*
                   [-0.012,0.010]    [-0.008,0.009]   [-0.023,-0.003]    [-0.023,0.007]    [-0.008,0.012]   [-0.027,-0.0
> 05] 

Treat × Safety             -0.006            -0.007            -0.000             0.002             0.001             0.
> 007 
                   [-0.018,0.006]    [-0.016,0.002]    [-0.011,0.011]    [-0.015,0.018]    [-0.010,0.012]    [-0.006,0.0
> 19] 
------------------------------------------------------------------------------------------------------------------------
> ----
Observations                 1565              1790              1712              1731              1684              1
> 721 
R^2                         0.391             0.515             0.279             0.042             0.104             0.
> 304 
Covariates                    yes               yes               yes               yes               yes               
> yes 
Control Mean                0.558             0.711             0.444             0.313             0.316             0.
> 555 
Block (p-val.)             0.3453            0.1423            0.9720            0.8433            0.8247            0.3
> 207 
------------------------------------------------------------------------------------------------------------------------
> ----
r; t=0.10 14:23:08

. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:23:08

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:23:08
r; t=0.00 14:23:08

. 
. esttab `models' using "`tdir'TableN2_pooled_x_community_safety.csv", replace ///
>     mtitle(`mlabels') ///
>     keep(1.alltreat safe_community 1.alltreat#c.safe_community) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.alltreat                  "Pooled treatment" ///
>                safe_community              "Community safety" ///
>                1.alltreat#c.safe_community "Treat × Safety") ///
>     stats(N r2 covars cmean p_block, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Covariates" "Control Mean" "Block (p-val.)")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/TableN2_pooled_x_community_safety.csv)
r; t=0.09 14:23:08

. 
. *----------------------
. * Table N3 (Table 24): Pooled effect — Interaction with lived experience of terrorism
. *----------------------
. 
. capture erase "${table}/terror_interact.xls"
r; t=0.00 14:23:08

. capture erase "${table}/terror_interact.txt"
r; t=0.00 14:23:08

. estimates clear
r; t=0.00 14:23:08

. eststo clear
r; t=0.00 14:23:08

. 
. cap which esttab
r; t=0.00 14:23:08

. if _rc ssc install estout, replace
r; t=0.00 14:23:08

. 
. local models
r; t=0.00 14:23:08

. local mlabels
r; t=0.00 14:23:08

. 
. foreach k of varlist $zoutcome1 {
  2. 
.     * Short column titles (fallback to var label/name)
.     local t ""
  3.     if ("`k'"=="zterrorism_regime")         local t "Dem. adv."
  4.     if ("`k'"=="zgendemoc_post")            local t "Dem. pref."
  5.     if ("`k'"=="zauth_support")             local t "Reject auth."
  6.     if ("`k'"=="zdemoc_policy")             local t "Vote dem. cand."
  7.     if ("`k'"=="zdonation")                 local t "Donate NGO"
  8.     if ("`k'"=="zdemonstrat_democracy")     local t "Attend protest"
  9.     if `"`t'"'=="" {
 10.         local t : variable label `k'
 11.         if `"`t'"'=="" local t "`k'"
 12.     }
 13. 
.     * OLS with explicit baselines: placebo (alltreat=0) and no lived exp (terror_exp=0)
.     qui reg `k' ib0.alltreat##ib0.terror_exp $controls 
 14. 
.     * Control mean from SAME estimation-sample placebo group
.     quietly summarize `k' if e(sample) & alltreat==0
 15.     qui estadd scalar cmean = r(mean)
 16.     qui estadd local  covars "yes"
 17. 
.     * Joint test for the interaction block
.     qui testparm 1.alltreat##1.terror_exp
 18.     qui estadd scalar p_block = r(p)
 19. 
.     eststo
 20.     local models  `"`models' `e(name)'"'
 21.     local mlabels `"`mlabels' "`t'""'
 22. }
(est1 stored)
(est2 stored)
(est3 stored)
(est4 stored)
(est5 stored)
(est6 stored)
r; t=0.06 14:23:08

. 
. * ---- PRINT to Results window (captured in .log) ----
. esttab `models', ///
>     mtitle(`mlabels') ///
>     keep(1.alltreat 1.terror_exp 1.alltreat#1.terror_exp) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.alltreat                 "Pooled treatment" ///
>                1.terror_exp               "Lived terror exp." ///
>                1.alltreat#1.terror_exp    "Treat × Lived exp.") ///
>     stats(N r2 covars cmean p_block, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Covariates" "Control Mean" "Block (p-val.)")) ///
>     compress

------------------------------------------------------------------------------------------------------------------------
> ----
                              (1)               (2)               (3)               (4)               (5)               
> (6) 
                        Dem. adv.        Dem. pref.      Reject auth.   Vote dem. cand.        Donate NGO    Attend prot
> est 
------------------------------------------------------------------------------------------------------------------------
> ----
Pooled treatment            0.073*            0.024             0.068*           -0.027             0.025            -0.
> 003 
                    [0.008,0.138]    [-0.024,0.072]     [0.010,0.127]    [-0.115,0.060]    [-0.034,0.084]    [-0.072,0.0
> 66] 

Lived ter..                 0.048             0.002             0.044            -0.021             0.047             0.
> 030 
                   [-0.016,0.112]    [-0.045,0.049]    [-0.014,0.102]    [-0.107,0.066]    [-0.011,0.105]    [-0.038,0.0
> 97] 

Treat × Li..               -0.034             0.009            -0.041             0.074            -0.012             0.
> 031 
                   [-0.107,0.040]    [-0.045,0.063]    [-0.107,0.025]    [-0.025,0.173]    [-0.078,0.055]    [-0.047,0.1
> 08] 
------------------------------------------------------------------------------------------------------------------------
> ----
Observations                 1546              1760              1687              1708              1659              1
> 695 
R^2                         0.388             0.510             0.271             0.041             0.110             0.
> 296 
Covariates                    yes               yes               yes               yes               yes               
> yes 
Control Mean                0.562             0.714             0.445             0.316             0.320             0.
> 560 
Block (p-val.)             0.0088            0.0438            0.0289            0.0802            0.0434            0.0
> 071 
------------------------------------------------------------------------------------------------------------------------
> ----
r; t=0.08 14:23:08

. * ---------------- SAVE TO output/tables (CSV only) ----------------
. local tdir = subinstr("${table}","\","/",.)
r; t=0.00 14:23:08

. if substr("`tdir'", -1, 1) != "/" local tdir "`tdir'/"
r; t=0.00 14:23:08
r; t=0.00 14:23:08

. 
. esttab `models' using "`tdir'TableN3_pooled_x_lived_terror_experience.csv", replace ///
>     mtitle(`mlabels') ///
>     keep(1.alltreat 1.terror_exp 1.alltreat#1.terror_exp) ///
>     b(3) ci level(95) brackets ///
>     star(* 0.05) ///
>     label nonotes noobs nobaselevels ///
>     coeflabels(1.alltreat              "Pooled treatment" ///
>                1.terror_exp            "Lived terror exp." ///
>                1.alltreat#1.terror_exp "Treat × Lived exp.") ///
>     stats(N r2 covars cmean p_block, ///
>           fmt(0 3 0 3 4) ///
>           labels("Observations" "R^2" "Covariates" "Control Mean" "Block (p-val.)")) ///
>     plain
(output written to /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Vid
> eo_Analysis/Replication data - PSRM/output/tables/TableN3_pooled_x_lived_terror_experience.csv)
r; t=0.10 14:23:09

.                         
. *--------------------------------------------------------------------
. *APPENDIX FIGURES
. *--------------------------------------------------------------------
. *-----------------------------
. * Figure N1 (Figure 9): Marginal effects of the democratic promotion treatment 
. * on outcomes by e, where (0) = not at all safe; (10) = very safe
. *-----------------------------
. global controls female age ib1.reli_new ib1.ethnicity_new ib4.educ_new vote_intent polint gendemoc_pre
r; t=0.00 14:23:09

. 
. 
. foreach k of varlist $zoutcome1 {
  2.     
.     * Assign descriptive title from label
.     local title_label ""
  3.     if "`k'" == "zterrorism_regime"         local title_label "Democratic advantage"
  4.     if "`k'" == "zgendemoc_post"            local title_label "Democratic preference"
  5.     if "`k'" == "zauth_support"             local title_label "Rejection of authoritarianism"
  6.     if "`k'" == "zdemoc_policy"             local title_label "Vote for democratic candidate"
  7.     if "`k'" == "zdonation"                 local title_label "Donate to pro-democratic NGO"
  8.     if "`k'" == "zdemonstrat_democracy"     local title_label "Participation in pro-democratic protest"
  9. 
.     * Regression model with interaction
.     qui reg `k' i.alltreat##c.safe_community $controls 
 10. 
.     * Marginal effects at varying safety levels
.     qui margins, dydx(alltreat) at(safe_community = (0(1)10)) 
 11. 
.     * Plot margins
.     qui marginsplot, ///
>         ylabel(-.15(.05).15) ///
>         xlabel(, labsize(medium)) ///
>         yline(0) ///
>         xtitle("Safety in the community", size(medium)) ///
>         ytitle("Effects of treatments on outcome", size(medsmall)) ///
>         title("DV: `title_label'", size(medium)) ///
>         name(`k', replace) ///
>         recastci(rspike) recast(scatter) scale(.8) legend(off)
 12. }
r; t=5.99 14:23:14

. 
. * Combine plots
. graph combine $zoutcome1
r; t=3.01 14:23:18

. graph save "${graph}/safety.gph", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Video_Analysis/Re
> plication data - PSRM/output/graphs/safety.gph saved
r; t=0.75 14:23:18

. graph export "${graph}/safety.eps", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/safety.eps saved as EPS format
r; t=0.04 14:23:18

. graph export "${graph}/safety.pdf", as(pdf) replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/safety.pdf saved as PDF format
r; t=0.06 14:23:18

. 
. *-----------------------------
. * Figure N2 (Figure 10): Marginal effects: *Regression using non-linear distance
. *-----------------------------
. 
. foreach k of varlist $zoutcome1  {
  2. 
.     // Human-readable DV title
.     local title_label ""
  3.     if "`k'" == "zterrorism_regime"         local title_label "Democratic advantage"
  4.     if "`k'" == "zgendemoc_post"            local title_label "Democratic preference"
  5.     if "`k'" == "zauth_support"             local title_label "Rejection of authoritarianism"
  6.     if "`k'" == "zdemoc_policy"             local title_label "Vote for democratic candidate"
  7.     if "`k'" == "zdonation"                 local title_label "Donate to pro-democratic NGO"
  8.     if "`k'" == "zdemonstrat_democracy"     local title_label "Participation in pro-democratic protest"
  9. 
.     // Regression with quadratic distance interacted with treatment
.     qui reg `k' i.alltreat##c.km_to_id_B##c.km_to_id_B $controls 
 10. 
.     // Marginal effects of treatment over distance (0 to 120km by 10)
.     qui margins, dydx(alltreat) at(km_to_id_B = (0(10)120))
 11. 
.     // Plot
.     qui marginsplot, ///
>         ylabel(-.25(.05).25) ///
>         xlabel(, labsize(vsmall)) ///
>         yline(0) ///
>         xtitle("Distance to terrorist attacks (km)", size(medium)) ///
>         ytitle("Effects of treatments on outcome", size(medsmall)) ///
>         title("DV: `title_label'", size(medium)) ///
>         name(`k', replace) ///
>         recastci(rspike) recast(scatter) scale(.8) legend(off)
 12. }
r; t=6.62 14:23:25

. 
. graph combine $zoutcome1
r; t=3.00 14:23:28

. graph save "${graph}/distance2.gph", replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Video_Analysis/Re
> plication data - PSRM/output/graphs/distance2.gph saved
r; t=0.77 14:23:29

. graph export "${graph}/distance2.eps", replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/distance2.eps saved as EPS format
r; t=0.05 14:23:29

. graph export "${graph}/distance2.pdf", as(pdf) replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/distance2.pdf saved as PDF format
r; t=0.08 14:23:29

. 
. // Individual treatments
. 
. codebook treat

------------------------------------------------------------------------------------------------------------------------
treat                                                                                                        (unlabeled)
------------------------------------------------------------------------------------------------------------------------

                  Type: Numeric (float)
                 Label: treatlbl

                 Range: [0,3]                         Units: 1
         Unique values: 4                         Missing .: 1,717/4,538

            Tabulation: Freq.   Numeric  Label
                          707         0  Placebo
                          704         1  Rights
                          706         2  Terrorism general
                          704         3  Terrorism Burkina
                        1,717         .  
r; t=0.02 14:23:29

. recode treat (0=0)(1=1)(2 3=.), ge(right_P)
(1,410 differences between treat and right_P)
r; t=0.00 14:23:29

. recode treat (0=0)(2=1)(1 3=.), ge(general_P)
(2,114 differences between treat and general_P)
r; t=0.00 14:23:29

. recode treat (0=0)(3=1)(1 2=.), ge(BFaso_P)
(2,114 differences between treat and BFaso_P)
r; t=0.00 14:23:29

. 
. ta treat right_P

                  |    RECODE of treat
            treat |         0          1 |     Total
------------------+----------------------+----------
          Placebo |       707          0 |       707 
           Rights |         0        704 |       704 
------------------+----------------------+----------
            Total |       707        704 |     1,411 
r; t=0.00 14:23:29

. ta treat general_P

                  |    RECODE of treat
            treat |         0          1 |     Total
------------------+----------------------+----------
          Placebo |       707          0 |       707 
Terrorism general |         0        706 |       706 
------------------+----------------------+----------
            Total |       707        706 |     1,413 
r; t=0.00 14:23:29

. ta treat BFaso_P

                  |    RECODE of treat
            treat |         0          1 |     Total
------------------+----------------------+----------
          Placebo |       707          0 |       707 
Terrorism Burkina |         0        704 |       704 
------------------+----------------------+----------
            Total |       707        704 |     1,411 
r; t=0.00 14:23:29

. **--------------------------------
. * Figure N3 (Figure 11): Marginal effects: by Lived experience (Civic right vs placebo)
. **--------------------------------
. foreach k of varlist $zoutcome1  {
  2. 
.     // Human-readable DV title
.     local title_label ""
  3.     if "`k'" == "zterrorism_regime"         local title_label "Democratic advantage"
  4.     if "`k'" == "zgendemoc_post"            local title_label "Democratic preference"
  5.     if "`k'" == "zauth_support"             local title_label "Rejection of authoritarianism"
  6.     if "`k'" == "zdemoc_policy"             local title_label "Vote for democratic candidate"
  7.     if "`k'" == "zdonation"                 local title_label "Donate to pro-democratic NGO"
  8.     if "`k'" == "zdemonstrat_democracy"     local title_label "Participation in pro-democratic protest"
  9. 
.     qui reg `k' i.right_P##i.terror_exp $controls 
 10.     qui margins, dydx(right_P) at(terror_exp=(0(1)1))
 11. 
.     qui marginsplot, ///
>         ylabel(-.15(.05).15) ///
>         xlabel(, labsize(medium)) ///
>         yline(0) ///
>         xtitle("Terrorism experience", size(medium)) ///
>         ytitle("Effects of treatments on outcome", size(vsmall)) ///
>         title("DV: `title_label'", size(medium)) ///
>         name(`k', replace) ///
>         recastci(rspike) recast(scatter) scale(.8) legend(off)
 12. }
r; t=3.45 14:23:32

. 
. graph combine $zoutcome1
r; t=3.51 14:23:36

. graph save "${graph}/terror_exp1.gph", replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Video_Analysis/Re
> plication data - PSRM/output/graphs/terror_exp1.gph saved
r; t=0.78 14:23:37

. graph export "${graph}/terror_exp1.eps", replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/terror_exp1.eps saved as EPS format
r; t=0.02 14:23:37

. graph export "${graph}/terror_exp1.pdf", as(pdf) replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/terror_exp1.pdf saved as PDF format
r; t=0.06 14:23:37

. 
. **--------------------------------
. * Figure N4 (Figure 12): Marginal effects:Proximity to terrorist attacks (Civic vs placebo)
. **--------------------------------
.  foreach k of varlist $zoutcome1  {
  2. 
.     // Human-readable DV title
.     local title_label ""
  3.     if "`k'" == "zterrorism_regime"         local title_label "Democratic advantage"
  4.     if "`k'" == "zgendemoc_post"            local title_label "Democratic preference"
  5.     if "`k'" == "zauth_support"             local title_label "Rejection of authoritarianism"
  6.     if "`k'" == "zdemoc_policy"             local title_label "Vote for democratic candidate"
  7.     if "`k'" == "zdonation"                 local title_label "Donate to pro-democratic NGO"
  8.     if "`k'" == "zdemonstrat_democracy"     local title_label "Participation in pro-democratic protest"
  9. 
.     qui reg `k' i.right_P##c.km_to_id_B $controls 
 10.     qui margins, dydx(right_P) at(km_to_id_B=(0(20)200))
 11. 
.     qui marginsplot, ///
>         ylabel(-.15(.05).15) ///
>         xlabel(, labsize(medium)) ///
>         yline(0) ///
>         xtitle("Distance to terrorist attacks (km)", size(medium)) ///
>         ytitle("Effects of treatments on outcome", size(vsmall)) ///
>         title("DV: `title_label'", size(medium)) ///
>         name(`k', replace) ///
>         recastci(rspike) recast(scatter) scale(.8) legend(off)
 12. }
r; t=6.01 14:23:43

. 
. graph combine $zoutcome1
r; t=3.44 14:23:46

. graph save "${graph}/km1.gph", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Video_Analysis/Re
> plication data - PSRM/output/graphs/km1.gph saved
r; t=1.04 14:23:47

. graph export "${graph}/km1.eps", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/km1.eps saved as EPS format
r; t=0.04 14:23:47

. graph export "${graph}/km1.pdf", as(pdf) replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/km1.pdf saved as PDF format
r; t=0.09 14:23:47

. 
. **--------------------------------
. *  Figure N5 (Figure 13): Marginal effects:: by Lived experience (general vs placebo)
. **--------------------------------
. foreach k of varlist $zoutcome1  {
  2. 
.     // Human-readable DV title
.     local title_label ""
  3.     if "`k'" == "zterrorism_regime"         local title_label "Democratic advantage"
  4.     if "`k'" == "zgendemoc_post"            local title_label "Democratic preference"
  5.     if "`k'" == "zauth_support"             local title_label "Rejection of authoritarianism"
  6.     if "`k'" == "zdemoc_policy"             local title_label "Vote for democratic candidate"
  7.     if "`k'" == "zdonation"                 local title_label "Donate to pro-democratic NGO"
  8.     if "`k'" == "zdemonstrat_democracy"     local title_label "Participation in pro-democratic protest"
  9. 
.     qui reg `k' i.general_P##i.terror_exp $controls 
 10.     qui margins, dydx(general_P) at(terror_exp=(0(1)1))
 11. 
.     qui marginsplot, ///
>         ylabel(-.15(.05).15) ///
>         xlabel(, labsize(medium)) ///
>         yline(0) ///
>         xtitle("Terrorism experience", size(medium)) ///
>         ytitle("Effects of treatments on outcome", size(vsmall)) ///
>         title("DV: `title_label'", size(medium)) ///
>         name(`k', replace) ///
>         recastci(rspike) recast(scatter) scale(.8) legend(off)
 12. }
r; t=4.32 14:23:52

. 
. graph combine $zoutcome1
r; t=3.49 14:23:55

. graph save "${graph}/terror_exp2.gph", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Video_Analysis/Re
> plication data - PSRM/output/graphs/terror_exp2.gph saved
r; t=0.92 14:23:56

. graph export "${graph}/terror_exp2.eps", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/terror_exp2.eps saved as EPS format
r; t=0.02 14:23:56

. graph export "${graph}/terror_exp.pdf", as(pdf) replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/terror_exp.pdf saved as PDF format
r; t=0.04 14:23:56

. 
. **--------------------------------
. * Figure N6 (Figure 14): Marginal effects:Proximity to terrorist attacks (general vs placebo)
. **--------------------------------
. 
. foreach k of varlist $zoutcome1  {
  2. 
.     // Human-readable DV title
.     local title_label ""
  3.     if "`k'" == "zterrorism_regime"         local title_label "Democratic advantage"
  4.     if "`k'" == "zgendemoc_post"            local title_label "Democratic preference"
  5.     if "`k'" == "zauth_support"             local title_label "Rejection of authoritarianism"
  6.     if "`k'" == "zdemoc_policy"             local title_label "Vote for democratic candidate"
  7.     if "`k'" == "zdonation"                 local title_label "Donate to pro-democratic NGO"
  8.     if "`k'" == "zdemonstrat_democracy"     local title_label "Participation in pro-democratic protest"
  9. 
.     qui reg `k' i.general_P##c.km_to_id_B $controls 
 10.     qui margins, dydx(general_P) at(km_to_id_B=(0(20)200))
 11. 
.     qui marginsplot, ///
>         ylabel(-.15(.05).15) ///
>         xlabel(, labsize(medium)) ///
>         yline(0) ///
>         xtitle("Distance to terrorist attacks (km)", size(medium)) ///
>         ytitle("Effects of treatments on outcome", size(vsmall)) ///
>         title("DV: `title_label'", size(medium)) ///
>         name(`k', replace) ///
>         recastci(rspike) recast(scatter) scale(.8) legend(off)
 12. }
r; t=6.20 14:24:02

. 
. graph combine $zoutcome1
r; t=3.43 14:24:06

. graph save "${graph}/km2.gph", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Video_Analysis/Re
> plication data - PSRM/output/graphs/km2.gph saved
r; t=0.98 14:24:07

. graph export "${graph}/km2.eps", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/km2.eps saved as EPS format
r; t=0.07 14:24:07

. graph export "${graph}/km2.pdf", as(pdf) replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/km2.pdf saved as PDF format
r; t=0.08 14:24:07

. 
. 
. **--------------------------------
. *  Figure N7 (Figure 15): Marginal effects:: by Lived experience (Burkina vs placebo)
. **--------------------------------
. foreach k of varlist $zoutcome1  {
  2. 
.     // Human-readable DV title
.     local title_label ""
  3.     if "`k'" == "zterrorism_regime"         local title_label "Democratic advantage"
  4.     if "`k'" == "zgendemoc_post"            local title_label "Democratic preference"
  5.     if "`k'" == "zauth_support"             local title_label "Rejection of authoritarianism"
  6.     if "`k'" == "zdemoc_policy"             local title_label "Vote for democratic candidate"
  7.     if "`k'" == "zdonation"                 local title_label "Donate to pro-democratic NGO"
  8.     if "`k'" == "zdemonstrat_democracy"     local title_label "Participation in pro-democratic protest"
  9. 
.     qui reg `k' i.BFaso_P##i.terror_exp $controls 
 10.     qui margins, dydx(BFaso_P) at(terror_exp=(0(1)1))
 11. 
.     qui marginsplot, ///
>         ylabel(-.15(.05).15) ///
>         xlabel(, labsize(medium)) ///
>         yline(0) ///
>         xtitle("Terrorism experience", size(medium)) ///
>         ytitle("Effects of treatments on outcome", size(vsmall)) ///
>         title("DV: `title_label'", size(medium)) ///
>         name(`k', replace) ///
>         recastci(rspike) recast(scatter) scale(.8) legend(off)
 12. }
r; t=4.44 14:24:11

. 
. graph combine $zoutcome1
r; t=4.96 14:24:16

. graph save "${graph}/terror_exp3.gph", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Video_Analysis/Re
> plication data - PSRM/output/graphs/terror_exp3.gph saved
r; t=1.25 14:24:18

. graph export "${graph}/terror_exp3.eps", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/terror_exp3.eps saved as EPS format
r; t=0.05 14:24:18

. graph export "${graph}/terror_exp.pdf", as(pdf) replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/terror_exp.pdf saved as PDF format
r; t=0.09 14:24:18

. 
. **--------------------------------
. *  Figure N8 (Figure 16): Marginal effects:Proximity to terrorist attacks (Burkina vs placebo)
. **--------------------------------
. 
. foreach k of varlist $zoutcome1  {
  2. 
.     // Human-readable DV title
.     local title_label ""
  3.     if "`k'" == "zterrorism_regime"         local title_label "Democratic advantage"
  4.     if "`k'" == "zgendemoc_post"            local title_label "Democratic preference"
  5.     if "`k'" == "zauth_support"             local title_label "Rejection of authoritarianism"
  6.     if "`k'" == "zdemoc_policy"             local title_label "Vote for democratic candidate"
  7.     if "`k'" == "zdonation"                 local title_label "Donate to pro-democratic NGO"
  8.     if "`k'" == "zdemonstrat_democracy"     local title_label "Participation in pro-democratic protest"
  9. 
.     qui reg `k' i.BFaso_P##c.km_to_id_B $controls 
 10.     qui margins, dydx(BFaso_P) at(km_to_id_B=(0(20)200))
 11. 
.     qui marginsplot, ///
>         ylabel(-.15(.05).15) ///
>         xlabel(, labsize(medium)) ///
>         yline(0) ///
>         xtitle("Distance to terrorist attacks (km)", size(medium)) ///
>         ytitle("Effects of treatments on outcome", size(vsmall)) ///
>         title("DV: `title_label'", size(medium)) ///
>         name(`k', replace) ///
>         recastci(rspike) recast(scatter) scale(.8) legend(off)
 12. }
r; t=7.99 14:24:26

. 
. graph combine $zoutcome1
r; t=3.95 14:24:30

. graph save "${graph}/km3.gph", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Video_Analysis/Re
> plication data - PSRM/output/graphs/km3.gph saved
r; t=1.00 14:24:31

. graph export "${graph}/km3.eps", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/km3.eps saved as EPS format
r; t=0.09 14:24:31

. graph export "${graph}/km3.pdf", as(pdf) replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/km3.pdf saved as PDF format
r; t=0.28 14:24:31

. 
. 
. // Conditional effect: Level of Education
. 
. **--------------------------------
. *  Figure N9 (Figure 17): Marginal effects:Civic vs placebo
. **--------------------------------
. *Removing education from pre-treatment
. global control_educ female age ib1.reli_new ib1.ethnicity_new ib4.educ_new vote_intent polint gendemoc_pre
r; t=0.01 14:24:31

. 
.  foreach k of varlist $zoutcome1  {
  2. 
.     // Human-readable DV title
.     local title_label ""
  3.     if "`k'" == "zterrorism_regime"         local title_label "Democratic advantage"
  4.     if "`k'" == "zgendemoc_post"            local title_label "Democratic preference"
  5.     if "`k'" == "zauth_support"             local title_label "Rejection of authoritarianism"
  6.     if "`k'" == "zdemoc_policy"             local title_label "Vote for democratic candidate"
  7.     if "`k'" == "zdonation"                 local title_label "Donate to pro-democratic NGO"
  8.     if "`k'" == "zdemonstrat_democracy"     local title_label "Participation in pro-democratic protest"
  9. 
.     qui reg `k' i.right_P##i.educ_new $control_educ 
 10.     qui margins, dydx(right_P) at(educ_new=(1(1)4))
 11. 
.     qui marginsplot, ///
>         ylabel(-.7(.2).7) ///
>         xlabel(, labsize(medium)) ///
>         yline(0) ///
>         xtitle("", size(medium)) ///
>         ytitle("Effects of treatments on outcome", size(vsmall)) ///
>         title("DV: `title_label'", size(medium)) ///
>         name(`k', replace) ///
>         recastci(rspike) recast(scatter) scale(.6) legend(off)
 12. }
r; t=6.16 14:24:37

. 
. graph combine $zoutcome1
r; t=4.69 14:24:42

. graph save "${graph}/educ_right.gph", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Video_Analysis/Re
> plication data - PSRM/output/graphs/educ_right.gph saved
r; t=1.06 14:24:43

. graph export "${graph}/educ_right.eps", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/educ_right.eps saved as EPS format
r; t=0.03 14:24:43

. graph export "${graph}/educ_right.pdf", as(pdf) replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/educ_right.pdf saved as PDF format
r; t=0.08 14:24:43

. 
. 
. **--------------------------------
. *  Figure N10 (Figure 18): Marginal effects:: General vs placebo
. **--------------------------------
. foreach k of varlist $zoutcome1  {
  2. 
.     // Human-readable DV title
.     local title_label ""
  3.     if "`k'" == "zterrorism_regime"         local title_label "Democratic advantage"
  4.     if "`k'" == "zgendemoc_post"            local title_label "Democratic preference"
  5.     if "`k'" == "zauth_support"             local title_label "Rejection of authoritarianism"
  6.     if "`k'" == "zdemoc_policy"             local title_label "Vote for democratic candidate"
  7.     if "`k'" == "zdonation"                 local title_label "Donate to pro-democratic NGO"
  8.     if "`k'" == "zdemonstrat_democracy"     local title_label "Participation in pro-democratic protest"
  9. 
.     qui reg `k' i.general_P##i.educ_new $control_educ 
 10.     qui margins, dydx(general_P) at(educ_new=(1(1)4))
 11. 
.     qui marginsplot, ///
>         ylabel(-.7(.2).7) ///
>         xlabel(, labsize(medium)) ///
>         yline(0) ///
>         xtitle("", size(medium)) ///
>         ytitle("Effects of treatments on outcome", size(vsmall)) ///
>         title("DV: `title_label'", size(medium)) ///
>         name(`k', replace) ///
>         recastci(rspike) recast(scatter) scale(.6) legend(off)
 12. }
r; t=6.17 14:24:49

. 
. graph combine $zoutcome1
r; t=5.03 14:24:54

. graph save "${graph}/educ_general.gph", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Video_Analysis/Re
> plication data - PSRM/output/graphs/educ_general.gph saved
r; t=1.00 14:24:55

. graph export "${graph}/educ_general.eps", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/educ_general.eps saved as EPS format
r; t=0.04 14:24:55

. graph export "${graph}/educ_general.pdf", as(pdf) replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/educ_general.pdf saved as PDF format
r; t=0.07 14:24:55

. 
. **--------------------------------
. *  Figure N11 (Figure 19): Marginal effects:Proximity to terrorist attacks (Burkina vs placebo)
. **--------------------------------
. 
. foreach k of varlist $zoutcome1  {
  2. 
.     // Human-readable DV title
.     local title_label ""
  3.     if "`k'" == "zterrorism_regime"         local title_label "Democratic advantage"
  4.     if "`k'" == "zgendemoc_post"            local title_label "Democratic preference"
  5.     if "`k'" == "zauth_support"             local title_label "Rejection of authoritarianism"
  6.     if "`k'" == "zdemoc_policy"             local title_label "Vote for democratic candidate"
  7.     if "`k'" == "zdonation"                 local title_label "Donate to pro-democratic NGO"
  8.     if "`k'" == "zdemonstrat_democracy"     local title_label "Participation in pro-democratic protest"
  9. 
.     qui reg `k' i.BFaso_P##i.educ_new $control_educ 
 10.     qui margins, dydx(BFaso_P) at(educ_new=(1(1)4))
 11. 
.     qui marginsplot, ///
>         ylabel(-.7(.2).7) ///
>         xlabel(, labsize(medium)) ///
>         yline(0) ///
>         xtitle("", size(medium)) ///
>         ytitle("Effects of treatments on outcome", size(vsmall)) ///
>         title("DV: `title_label'", size(medium)) ///
>         name(`k', replace) ///
>         recastci(rspike) recast(scatter) scale(.6) legend(off)
 12. }
r; t=4.62 14:25:00

. 
. graph combine $zoutcome1
r; t=4.12 14:25:04

. graph save "${graph}/educ_BF.gph", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Video_Analysis/Re
> plication data - PSRM/output/graphs/educ_BF.gph saved
r; t=0.94 14:25:05

. graph export "${graph}/educ_BF.eps", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/educ_BF.eps saved as EPS format
r; t=0.04 14:25:05

. graph export "${graph}/educ_BF.pdf", as(pdf) replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/educ_BF.pdf saved as PDF format
r; t=0.05 14:25:05

. 
. // Emotions
. 
. *--------------------------------
. *  Figure O1 (Figure 20): Marginal effects of democratic promotion treatment 
. * by anger traits (0 = not at all angry; 10 = very angry)
. *--------------------------------
. 
. foreach k of varlist $zoutcome1 {
  2.     
.     * Assign descriptive label for DV
.     local title_label ""
  3.     if "`k'" == "zterrorism_regime"         local title_label "Democratic advantage"
  4.     if "`k'" == "zgendemoc_post"            local title_label "Democratic preference"
  5.     if "`k'" == "zauth_support"             local title_label "Rejection of authoritarianism"
  6.     if "`k'" == "zdemoc_policy"             local title_label "Vote for democratic candidate"
  7.     if "`k'" == "zdonation"                 local title_label "Donate to pro-democratic NGO"
  8.     if "`k'" == "zdemonstrat_democracy"     local title_label "Participation in pro-democratic protest"
  9. 
.     * Interaction regression
.     qui reg `k' i.alltreat##c.anger_traits $controls 
 10.     * Marginal effects
.     qui margins, dydx(alltreat) at(anger_traits = (0(1)10)) 
 11. 
.     * Plot
.     qui marginsplot, ///
>         ylabel(-0.15(.05)0.15) ///
>         xlabel(, labsize(medium)) ///
>         yline(0) ///
>         xtitle("Anger", size(medium)) ///
>         ytitle("Effects of treatments on outcome", size(small)) ///
>         title("DV: `title_label'", size(medium)) ///
>         name(`k', replace) ///
>         recastci(rspike) recast(scatter) scale(.8) legend(off)
 12. }
r; t=7.53 14:25:13

. 
. * Combine and export
. graph combine $zoutcome1 
r; t=3.53 14:25:16

. graph save "${graph}/anger_traits.gph", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Video_Analysis/Re
> plication data - PSRM/output/graphs/anger_traits.gph saved
r; t=1.01 14:25:17

. graph export "${graph}/anger_traits.eps", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/anger_traits.eps saved as EPS format
r; t=0.06 14:25:17

. graph export "${graph}/anger_traits.pdf", as(pdf) replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/anger_traits.pdf saved as PDF format
r; t=0.08 14:25:17

. 
. *--------------------------------
. * Figure O2 (Figure 21): Marginal effects of democratic promotion treatment 
. * by anxiety traits (0 = not at all anxious; 10 = very anxious)
. *--------------------------------
. 
. foreach k of varlist $zoutcome1 {
  2.     
.     * Assign descriptive label for DV
.     local title_label ""
  3.     if "`k'" == "zterrorism_regime"         local title_label "Democratic advantage"
  4.     if "`k'" == "zgendemoc_post"            local title_label "Democratic preference"
  5.     if "`k'" == "zauth_support"             local title_label "Rejection of authoritarianism"
  6.     if "`k'" == "zdemoc_policy"             local title_label "Vote for democratic candidate"
  7.     if "`k'" == "zdonation"                 local title_label "Donate to pro-democratic NGO"
  8.     if "`k'" == "zdemonstrat_democracy"     local title_label "Participation in pro-democratic protest"
  9. 
.     * Interaction regression
.     qui reg `k' i.alltreat##c.anxiety_traits $controls 
 10. 
.     * Marginal effects
.     qui margins, dydx(alltreat) at(anxiety_traits = (0(1)10)) 
 11. 
.     * Plot
.     qui marginsplot, ///
>         ylabel(-0.15(.05)0.15) ///
>         xlabel(, labsize(medium)) ///
>         yline(0) ///
>         xtitle("Anxiety", size(medium)) ///
>         ytitle("Effects of treatments on outcome", size(small)) ///
>         title("DV: `title_label'", size(medium)) ///
>         name(`k', replace) ///
>         recastci(rspike) recast(scatter) scale(.8) legend(off)
 12. }
r; t=8.70 14:25:26

. 
. * Combine and export
. graph combine $zoutcome1 
r; t=4.07 14:25:30

. graph save "${graph}/anxiety_traits.gph", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Video_Analysis/Re
> plication data - PSRM/output/graphs/anxiety_traits.gph saved
r; t=1.20 14:25:31

. graph export "${graph}/anxiety_traits.eps", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/anxiety_traits.eps saved as EPS format
r; t=0.04 14:25:31

. graph export "${graph}/anxiety_traits.pdf", as(pdf) replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/anxiety_traits.pdf saved as PDF format
r; t=0.10 14:25:32

. 
. *--------------------------------
. * Figure O3 (Figure 22): Marginal effects of democratic promotion treatment 
. * by optimism traits (0 = not at all optimistic; 10 = very optimistic)
. *--------------------------------
. 
. foreach k of varlist $zoutcome1 {
  2. 
.     * Assign descriptive label for DV
.     local title_label ""
  3.     if "`k'" == "zterrorism_regime"         local title_label "Democratic advantage"
  4.     if "`k'" == "zgendemoc_post"            local title_label "Democratic preference"
  5.     if "`k'" == "zauth_support"             local title_label "Rejection of authoritarianism"
  6.     if "`k'" == "zdemoc_policy"             local title_label "Vote for democratic candidate"
  7.     if "`k'" == "zdonation"                 local title_label "Donate to pro-democratic NGO"
  8.     if "`k'" == "zdemonstrat_democracy"     local title_label "Participation in pro-democratic protest"
  9. 
.     * Interaction regression
.     qui reg `k' i.alltreat##c.optimism_traits $controls 
 10. 
.     * Marginal effects
.     qui margins, dydx(alltreat) at(optimism_traits = (0(1)10)) 
 11. 
.     * Plot
.    qui marginsplot, ///
>         ylabel(-0.15(.05)0.15) ///
>         xlabel(, labsize(medium)) ///
>         yline(0) ///
>         xtitle("Optimism", size(medium)) ///
>         ytitle("Effects of treatments on outcome", size(vsmall)) ///
>         title("DV: `title_label'", size(medium)) ///
>         name(`k', replace) ///
>         recastci(rspike) recast(scatter) scale(.8) legend(off)
 12. }
r; t=8.82 14:25:40

. 
. * Combine and export
. graph combine $zoutcome1                
r; t=4.67 14:25:45

. graph save "${graph}/optimism_traits.gph", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Video_Analysis/Re
> plication data - PSRM/output/graphs/optimism_traits.gph saved
r; t=1.07 14:25:46

. graph export "${graph}/optimism_traits.eps", replace 
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/optimism_traits.eps saved as EPS format
r; t=0.05 14:25:46

. graph export "${graph}/optimism_traits.pdf", as(pdf) replace
file /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict
    project/Analysis/Video_Analysis/Replication data - PSRM/output/graphs/optimism_traits.pdf saved as PDF format
r; t=0.11 14:25:46

. 
.         
. **--------------------------------
. * Mediation Analysis
. **--------------------------------
. 
. *codebook treat 
. recode treat(1 3 =.)(2=1) (0=0), ge(terror_G)
(2,114 differences between treat and terror_G)
r; t=0.00 14:25:46

. label var terror_G "Terrorism general"
r; t=0.00 14:25:46

. ta terror_G treat

 Terrorism |         treat
   general |   Placebo  Terrorism |     Total
-----------+----------------------+----------
         0 |       707          0 |       707 
         1 |         0        706 |       706 
-----------+----------------------+----------
     Total |       707        706 |     1,413 
r; t=0.00 14:25:46

. 
. global meddep zgendemoc_post zauth_support zdemoc_policy zdonation zdemonstrat_democracy 
r; t=0.00 14:25:46

. 
. capture erase "${table}/med1.xls"
r; t=0.00 14:25:46

. capture erase "${table}/med1.txt"
r; t=0.00 14:25:46

. estimates clear
r; t=0.00 14:25:46

. 
. **--------------------------------
. * Table P1 (Table 25): Mediation results for Democratic preference
. **--------------------------------
.  medeff (regress  zterrorism_regime terror_G) (regress  zgendemoc_post terror_G zterrorism_regime $medcontrols),  trea
> t(terror_G) mediate(zterrorism_regime) 
Using 0 and 1 as treatment values

      Source |       SS           df       MS      Number of obs   =       788
-------------+----------------------------------   F(1, 786)       =     19.83
       Model |  2.14338637         1  2.14338637   Prob > F        =    0.0000
    Residual |  84.9768533       786  .108113045   R-squared       =    0.0246
-------------+----------------------------------   Adj R-squared   =    0.0234
       Total |  87.1202397       787  .110699161   Root MSE        =    .32881

------------------------------------------------------------------------------
zterrorism~e | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
    terror_G |   .1043294   .0234313     4.45   0.000     .0583342    .1503246
       _cons |   .5606965   .0163993    34.19   0.000     .5285049    .5928882
------------------------------------------------------------------------------

      Source |       SS           df       MS      Number of obs   =       788
-------------+----------------------------------   F(10, 777)      =    119.22
       Model |  40.8767231        10  4.08767231   Prob > F        =    0.0000
    Residual |  26.6418543       777  .034288101   R-squared       =    0.6054
-------------+----------------------------------   Adj R-squared   =    0.6003
       Total |  67.5185774       787  .085792347   Root MSE        =    .18517

-----------------------------------------------------------------------------------
   zgendemoc_post | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
------------------+----------------------------------------------------------------
         terror_G |   .0038027   .0134722     0.28   0.778    -.0226436    .0302489
zterrorism_regime |   .3188311   .0251716    12.67   0.000     .2694187    .3682436
           female |   .0030327   .0145821     0.21   0.835    -.0255923    .0316577
              age |  -.0003826   .0005799    -0.66   0.510    -.0015208    .0007557
         reli_new |    .000945   .0071837     0.13   0.895    -.0131568    .0150468
    ethnicity_new |  -.0032281   .0030008    -1.08   0.282    -.0091187    .0026626
         educ_new |   .0095644   .0089103     1.07   0.283    -.0079267    .0270555
      vote_intent |   .0009243   .0029989     0.31   0.758    -.0049627    .0068113
           polint |  -.0019468   .0068829    -0.28   0.777    -.0154581    .0115645
     gendemoc_pre |   .0501573   .0027287    18.38   0.000     .0448008    .0555138
            _cons |   .1763381   .0530177     3.33   0.001     .0722631    .2804131
-----------------------------------------------------------------------------------
The number of observations in the data is less than the number of simulations. Expanding the data to the number of simul
> ations
------------------------------------------------------------------------------------
        Effect                 |  Mean           [95% Conf. Interval]
-------------------------------+----------------------------------------------------
        ACME                   |  .0334716      .0176264      .0501236
        Direct Effect          |  .0033505     -.0237001      .0292407
        Total Effect           |  .0368221      .0068723       .067041
        % of Tot Eff mediated  |  .9114608      .4672317      3.422193
------------------------------------------------------------------------------------
r; t=0.58 14:25:47

. **--------------------------------
. *Table P2 (Table 26): Mediation results for Participation in pro-democratic protest
. **--------------------------------
. medeff (regress  zterrorism_regime terror_G) (regress  zdemonstrat_democracy terror_G zterrorism_regime $medcontrols),
>  treat(terror_G) mediate(zterrorism_regime)
Using 0 and 1 as treatment values

      Source |       SS           df       MS      Number of obs   =       787
-------------+----------------------------------   F(1, 785)       =     21.33
       Model |  2.29720925         1  2.29720925   Prob > F        =    0.0000
    Residual |   84.533234       785  .107685648   R-squared       =    0.0265
-------------+----------------------------------   Adj R-squared   =    0.0252
       Total |  86.8304433       786  .110471302   Root MSE        =    .32815

------------------------------------------------------------------------------
zterrorism~e | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
    terror_G |   .1080797   .0234004     4.62   0.000      .062145    .1540145
       _cons |   .5594527   .0163669    34.18   0.000     .5273247    .5915808
------------------------------------------------------------------------------

      Source |       SS           df       MS      Number of obs   =       787
-------------+----------------------------------   F(10, 776)      =     59.47
       Model |  37.8880209        10  3.78880209   Prob > F        =    0.0000
    Residual |  49.4355103       776  .063705555   R-squared       =    0.4339
-------------+----------------------------------   Adj R-squared   =    0.4266
       Total |  87.3235312       786   .11109864   Root MSE        =     .2524

-----------------------------------------------------------------------------------
zdemonstrat_dem~y | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
------------------+----------------------------------------------------------------
         terror_G |   .0144457   .0183831     0.79   0.432    -.0216408    .0505322
zterrorism_regime |   .4394528   .0344521    12.76   0.000     .3718224    .5070832
           female |  -.0052891    .019884    -0.27   0.790    -.0443218    .0337437
              age |  -.0000893    .000792    -0.11   0.910     -.001644    .0014654
         reli_new |  -.0027449    .009807    -0.28   0.780    -.0219963    .0165066
    ethnicity_new |   .0032003    .004096     0.78   0.435    -.0048403    .0112409
         educ_new |  -.0050399   .0121517    -0.41   0.678     -.028894    .0188141
      vote_intent |   .0140048   .0040903     3.42   0.001     .0059753    .0220342
           polint |   .0216078   .0094187     2.29   0.022     .0031187    .0400969
     gendemoc_pre |    .031948   .0037211     8.59   0.000     .0246434    .0392525
            _cons |  -.0507853   .0723321    -0.70   0.483    -.1927751    .0912044
-----------------------------------------------------------------------------------
The number of observations in the data is less than the number of simulations. Expanding the data to the number of simul
> ations
------------------------------------------------------------------------------------
        Effect                 |  Mean           [95% Conf. Interval]
-------------------------------+----------------------------------------------------
        ACME                   |  .0477796      .0260575      .0707554
        Direct Effect          |  .0138287     -.0230822      .0491563
        Total Effect           |  .0616083      .0207721      .1028891
        % of Tot Eff mediated  |  .7804674      .4630058      2.280969
------------------------------------------------------------------------------------
r; t=0.48 14:25:47

. **--------------------------------
. * Table P3 (Table 27): Mediation results for Donation for pro-Democratic NGO
. **--------------------------------
. medeff (regress  zterrorism_regime terror_G) (regress  zdonation terror_G zterrorism_regime $medcontrols), treat(terro
> r_G) mediate(zterrorism_regime)
Using 0 and 1 as treatment values

      Source |       SS           df       MS      Number of obs   =       791
-------------+----------------------------------   F(1, 789)       =     20.80
       Model |  2.25079918         1  2.25079918   Prob > F        =    0.0000
    Residual |  85.3756975       789  .108207475   R-squared       =    0.0257
-------------+----------------------------------   Adj R-squared   =    0.0245
       Total |  87.6264967       790  .110919616   Root MSE        =    .32895

------------------------------------------------------------------------------
zterrorism~e | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
-------------+----------------------------------------------------------------
    terror_G |   .1067113   .0233976     4.56   0.000     .0607825    .1526402
       _cons |   .5586634   .0163658    34.14   0.000     .5265377    .5907891
------------------------------------------------------------------------------

      Source |       SS           df       MS      Number of obs   =       791
-------------+----------------------------------   F(10, 780)      =      7.64
       Model |  4.51520773        10  .451520773   Prob > F        =    0.0000
    Residual |  46.0843472       780  .059082496   R-squared       =    0.0892
-------------+----------------------------------   Adj R-squared   =    0.0776
       Total |   50.599555       790   .06405007   Root MSE        =    .24307

-----------------------------------------------------------------------------------
        zdonation | Coefficient  Std. err.      t    P>|t|     [95% conf. interval]
------------------+----------------------------------------------------------------
         terror_G |  -.0024404   .0176513    -0.14   0.890    -.0370901    .0322094
zterrorism_regime |    .143388   .0330118     4.34   0.000     .0785855    .2081904
           female |  -.0320727   .0191368    -1.68   0.094    -.0696384     .005493
              age |  -.0017653   .0007605    -2.32   0.021    -.0032582   -.0002725
         reli_new |  -.0129963   .0094149    -1.38   0.168    -.0314779    .0054852
    ethnicity_new |  -.0025755   .0039281    -0.66   0.512    -.0102863    .0051354
         educ_new |  -.0324542   .0116706    -2.78   0.006    -.0553637   -.0095447
      vote_intent |   -.000052   .0039235    -0.01   0.989    -.0077539    .0076498
           polint |  -.0070449   .0090251    -0.78   0.435    -.0247613    .0106715
     gendemoc_pre |   .0065507   .0035768     1.83   0.067    -.0004705     .013572
            _cons |   .4074403    .069355     5.87   0.000     .2712957    .5435848
-----------------------------------------------------------------------------------
The number of observations in the data is less than the number of simulations. Expanding the data to the number of simul
> ations
------------------------------------------------------------------------------------
        Effect                 |  Mean           [95% Conf. Interval]
-------------------------------+----------------------------------------------------
        ACME                   |  .0153702      .0065999      .0263781
        Direct Effect          | -.0030328     -.0384744      .0308886
        Total Effect           |  .0123375      -.022516      .0489322
        % of Tot Eff mediated  |  .6265981     -14.45642      8.126215
------------------------------------------------------------------------------------
r; t=0.54 14:25:48

. 
. capture noisily log close rep
      name:  rep
       log:  /Users/souleymane.yameogo/Library/CloudStorage/Dropbox/WP3_OnlineCivics/Conflict project/Analysis/Video_Ana
> lysis/Replication data - PSRM/output/replication_analysis.log
  log type:  text
 closed on:   3 Dec 2025, 14:25:48
------------------------------------------------------------------------------------------------------------------------
